diff --git a/tests/Application/Resources/fixtures/BitBagOffer.pdf b/tests/Application/Resources/fixtures/BitBagOffer.pdf
deleted file mode 100644
index b16ddf0b5..000000000
Binary files a/tests/Application/Resources/fixtures/BitBagOffer.pdf and /dev/null differ
diff --git a/tests/Application/Resources/fixtures/black_friday_banner.png b/tests/Application/Resources/fixtures/black_friday_banner.png
new file mode 100644
index 000000000..f9bbf7066
Binary files /dev/null and b/tests/Application/Resources/fixtures/black_friday_banner.png differ
diff --git a/tests/Application/Resources/fixtures/blog_banner.png b/tests/Application/Resources/fixtures/blog_banner.png
index 72c6f80bf..f9bbf7066 100644
Binary files a/tests/Application/Resources/fixtures/blog_banner.png and b/tests/Application/Resources/fixtures/blog_banner.png differ
diff --git a/tests/Application/Resources/fixtures/blog_post_1_content_image_1.png b/tests/Application/Resources/fixtures/blog_post_1_content_image_1.png
new file mode 100644
index 000000000..223a5aeb8
Binary files /dev/null and b/tests/Application/Resources/fixtures/blog_post_1_content_image_1.png differ
diff --git a/tests/Application/Resources/fixtures/blog_post_1_content_image_2.png b/tests/Application/Resources/fixtures/blog_post_1_content_image_2.png
new file mode 100644
index 000000000..5a093a404
Binary files /dev/null and b/tests/Application/Resources/fixtures/blog_post_1_content_image_2.png differ
diff --git a/tests/Application/Resources/fixtures/blog_post_1_header_banner.jpg b/tests/Application/Resources/fixtures/blog_post_1_header_banner.jpg
deleted file mode 100644
index f160c07fd..000000000
Binary files a/tests/Application/Resources/fixtures/blog_post_1_header_banner.jpg and /dev/null differ
diff --git a/tests/Application/Resources/fixtures/blog_post_1_header_banner.png b/tests/Application/Resources/fixtures/blog_post_1_header_banner.png
new file mode 100644
index 000000000..0f7d390a9
Binary files /dev/null and b/tests/Application/Resources/fixtures/blog_post_1_header_banner.png differ
diff --git a/tests/Application/Resources/fixtures/blog_post_1_teaser_image.png b/tests/Application/Resources/fixtures/blog_post_1_teaser_image.png
new file mode 100644
index 000000000..313067635
Binary files /dev/null and b/tests/Application/Resources/fixtures/blog_post_1_teaser_image.png differ
diff --git a/tests/Application/Resources/fixtures/blog_post_2_content_image_1.png b/tests/Application/Resources/fixtures/blog_post_2_content_image_1.png
new file mode 100644
index 000000000..427ca7eea
Binary files /dev/null and b/tests/Application/Resources/fixtures/blog_post_2_content_image_1.png differ
diff --git a/tests/Application/Resources/fixtures/blog_post_2_content_image_2.png b/tests/Application/Resources/fixtures/blog_post_2_content_image_2.png
new file mode 100644
index 000000000..223a5aeb8
Binary files /dev/null and b/tests/Application/Resources/fixtures/blog_post_2_content_image_2.png differ
diff --git a/tests/Application/Resources/fixtures/blog_post_2_header_banner.png b/tests/Application/Resources/fixtures/blog_post_2_header_banner.png
new file mode 100644
index 000000000..751f3fcfa
Binary files /dev/null and b/tests/Application/Resources/fixtures/blog_post_2_header_banner.png differ
diff --git a/tests/Application/Resources/fixtures/blog_post_2_teaser_image.png b/tests/Application/Resources/fixtures/blog_post_2_teaser_image.png
new file mode 100644
index 000000000..9e89cb73f
Binary files /dev/null and b/tests/Application/Resources/fixtures/blog_post_2_teaser_image.png differ
diff --git a/tests/Application/Resources/fixtures/blog_post_3_content_image_1.png b/tests/Application/Resources/fixtures/blog_post_3_content_image_1.png
new file mode 100644
index 000000000..f9bbf7066
Binary files /dev/null and b/tests/Application/Resources/fixtures/blog_post_3_content_image_1.png differ
diff --git a/tests/Application/Resources/fixtures/blog_post_3_content_image_2.png b/tests/Application/Resources/fixtures/blog_post_3_content_image_2.png
new file mode 100644
index 000000000..560534ce8
Binary files /dev/null and b/tests/Application/Resources/fixtures/blog_post_3_content_image_2.png differ
diff --git a/tests/Application/Resources/fixtures/blog_post_3_header_banner.png b/tests/Application/Resources/fixtures/blog_post_3_header_banner.png
new file mode 100644
index 000000000..112ad47c4
Binary files /dev/null and b/tests/Application/Resources/fixtures/blog_post_3_header_banner.png differ
diff --git a/tests/Application/Resources/fixtures/blog_post_3_teaser_image.png b/tests/Application/Resources/fixtures/blog_post_3_teaser_image.png
new file mode 100644
index 000000000..4df05876b
Binary files /dev/null and b/tests/Application/Resources/fixtures/blog_post_3_teaser_image.png differ
diff --git a/tests/Application/Resources/fixtures/ford_mustang_gt.jpg b/tests/Application/Resources/fixtures/ford_mustang_gt.jpg
deleted file mode 100644
index 3d63d14a0..000000000
Binary files a/tests/Application/Resources/fixtures/ford_mustang_gt.jpg and /dev/null differ
diff --git a/tests/Application/Resources/fixtures/homepage_banner_1.png b/tests/Application/Resources/fixtures/homepage_banner_1.png
new file mode 100644
index 000000000..f9bbf7066
Binary files /dev/null and b/tests/Application/Resources/fixtures/homepage_banner_1.png differ
diff --git a/tests/Application/Resources/fixtures/homepage_banner_2.png b/tests/Application/Resources/fixtures/homepage_banner_2.png
new file mode 100644
index 000000000..751f3fcfa
Binary files /dev/null and b/tests/Application/Resources/fixtures/homepage_banner_2.png differ
diff --git a/tests/Application/Resources/fixtures/homepage_banner_3.png b/tests/Application/Resources/fixtures/homepage_banner_3.png
new file mode 100644
index 000000000..112ad47c4
Binary files /dev/null and b/tests/Application/Resources/fixtures/homepage_banner_3.png differ
diff --git a/tests/Application/Resources/fixtures/homepage_header.jpeg b/tests/Application/Resources/fixtures/homepage_header.jpeg
deleted file mode 100644
index 340603db9..000000000
Binary files a/tests/Application/Resources/fixtures/homepage_header.jpeg and /dev/null differ
diff --git a/tests/Application/Resources/fixtures/homepage_logo.png b/tests/Application/Resources/fixtures/homepage_logo.png
deleted file mode 100644
index decba55dd..000000000
Binary files a/tests/Application/Resources/fixtures/homepage_logo.png and /dev/null differ
diff --git a/tests/Application/Resources/fixtures/homepage_video.mp4 b/tests/Application/Resources/fixtures/homepage_video.mp4
deleted file mode 100644
index 45c580d4f..000000000
Binary files a/tests/Application/Resources/fixtures/homepage_video.mp4 and /dev/null differ
diff --git a/tests/Application/Resources/fixtures/sale.jpeg b/tests/Application/Resources/fixtures/sale.jpeg
deleted file mode 100644
index 76f8e4c20..000000000
Binary files a/tests/Application/Resources/fixtures/sale.jpeg and /dev/null differ
diff --git a/tests/Application/Resources/fixtures/size_table.jpeg b/tests/Application/Resources/fixtures/size_table.jpeg
deleted file mode 100644
index 941301b40..000000000
Binary files a/tests/Application/Resources/fixtures/size_table.jpeg and /dev/null differ
diff --git a/tests/Application/Resources/fixtures/specified_products_banner.jpg b/tests/Application/Resources/fixtures/specified_products_banner.jpg
deleted file mode 100644
index 3e82f3aec..000000000
Binary files a/tests/Application/Resources/fixtures/specified_products_banner.jpg and /dev/null differ
diff --git a/tests/Application/Resources/fixtures/specified_products_banner.png b/tests/Application/Resources/fixtures/specified_products_banner.png
new file mode 100644
index 000000000..f9bbf7066
Binary files /dev/null and b/tests/Application/Resources/fixtures/specified_products_banner.png differ
diff --git a/tests/Application/Resources/fixtures/t_shirts_banner.jpg b/tests/Application/Resources/fixtures/t_shirts_banner.jpg
deleted file mode 100644
index 391ff15df..000000000
Binary files a/tests/Application/Resources/fixtures/t_shirts_banner.jpg and /dev/null differ
diff --git a/tests/Application/assets/shop/entry.js b/tests/Application/assets/shop/entry.js
index aadc3174e..c9b2dfe26 100644
--- a/tests/Application/assets/shop/entry.js
+++ b/tests/Application/assets/shop/entry.js
@@ -1 +1,2 @@
import 'sylius/bundle/ShopBundle/Resources/private/entry';
+import './styles.scss';
diff --git a/tests/Application/assets/shop/styles.scss b/tests/Application/assets/shop/styles.scss
new file mode 100644
index 000000000..f4724abb1
--- /dev/null
+++ b/tests/Application/assets/shop/styles.scss
@@ -0,0 +1,93 @@
+.homepage-logo {
+ border-radius: 6px;
+ overflow: hidden;
+}
+
+.homepage-sale {
+ img {
+ width: 80% !important;
+ margin: auto !important;
+ border-radius: 20px;
+ }
+}
+
+.cms_content_element__taxons-list {
+ .ui {
+ display: flex;
+ justify-content: space-between;
+ margin-left: 0 !important;
+
+ li {
+ flex: 1 1 auto;
+ text-align: center;
+ vertical-align: middle;
+ border: solid #eee 1px;
+ margin: 20px;
+ border-radius: 4px;
+ font-size: 16pt;
+ background: transparent;
+ transition: border-color 200ms ease-in;
+
+ a {
+ padding: 40px !important;
+ display: block;
+ transition: color 200ms ease-in;
+ }
+ }
+
+ li:hover {
+ border-color: #22b99a;
+ transition: border-color 200ms ease-in;
+ a {
+ color: #22b99a;
+ transition: color 200ms ease-in;
+ }
+ }
+
+ li:before {
+ content: none !important;
+ }
+ }
+}
+
+.cms-page-content {
+ .teaser {
+ .ui.image {
+ width: 100%;
+
+ img {
+ width: 100%
+ }
+ }
+ }
+
+ h2 {
+ font-size: 22pt;
+ margin-bottom: 22px;
+ }
+
+ h3 {
+ margin-top: 16px;
+ font-size: 18pt;
+ margin-bottom: 16px;
+ }
+
+ .cms_content_element__textarea {
+ p {
+ font-size: 13pt;
+ ul {
+ font-size: 13pt;
+ li {
+ margin-bottom: 6px;
+ }
+ }
+ }
+
+ ul {
+ font-size: 13pt;
+ li {
+ margin-bottom: 6px;
+ }
+ }
+ }
+}
diff --git a/tests/Application/config/packages/_sylius.yaml b/tests/Application/config/packages/_sylius.yaml
index ab14c62ef..612c68afc 100644
--- a/tests/Application/config/packages/_sylius.yaml
+++ b/tests/Application/config/packages/_sylius.yaml
@@ -17,3 +17,10 @@ sylius_api:
sylius_shop:
product_grid:
include_all_descendants: true
+
+sylius_cms:
+ templates:
+ blocks:
+ - "src/Resources/views/Block/CustomLayout.html.twig"
+ pages:
+ - "src/Resources/views/Page/CustomLayout.html.twig"
diff --git a/tests/Application/config/packages/fixtures/1_collection.yaml b/tests/Application/config/packages/fixtures/1_collection.yaml
new file mode 100644
index 000000000..94f1ab08d
--- /dev/null
+++ b/tests/Application/config/packages/fixtures/1_collection.yaml
@@ -0,0 +1,34 @@
+parameters:
+ fixtures_dir: "%kernel.project_dir%/Resources/fixtures"
+
+sylius_fixtures:
+ suites:
+ default:
+ listeners:
+ orm_purger: ~
+ logger: ~
+ fixtures:
+ collection:
+ options:
+ custom:
+ blog:
+ name: "Blog"
+ type: "page"
+ homepage:
+ name: "Homepage"
+ type: "page"
+ homepage_banner:
+ name: "Homepage"
+ type: "media"
+ black_friday:
+ name: "Black Friday"
+ type: "block"
+ black_friday_banner:
+ name: "Black Friday banners"
+ type: "media"
+ blog_images:
+ name: "Blog images"
+ type: "media"
+ products_details:
+ name: "Product details"
+ type: "block"
diff --git a/tests/Application/config/packages/fixtures/1_media.yaml b/tests/Application/config/packages/fixtures/1_media.yaml
new file mode 100644
index 000000000..74f4f3d6c
--- /dev/null
+++ b/tests/Application/config/packages/fixtures/1_media.yaml
@@ -0,0 +1,218 @@
+parameters:
+ fixtures_dir: "%kernel.project_dir%/Resources/fixtures"
+
+sylius_fixtures:
+ suites:
+ default:
+ listeners:
+ orm_purger: ~
+ logger: ~
+ fixtures:
+ media:
+ options:
+ custom:
+ black_friday_banner:
+ name: "Black friday banner"
+ channels:
+ - "FASHION_WEB"
+ type: image
+ path: "%fixtures_dir%/black_friday_banner.png"
+ original_name: "black_friday_banner.png"
+ collections:
+ - "black_friday_banner"
+ translations:
+ en_US:
+ alt: "Black friday banner"
+ homepage_banner_1:
+ name: "Homepage banner 1 (black friday)"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "homepage_banner"
+ - "black_friday_banner"
+ type: image
+ path: "%fixtures_dir%/homepage_banner_1.png"
+ original_name: "homepage_banner_1.png"
+ translations:
+ en_US:
+ alt: "Homepage banner 1"
+ homepage_banner_2:
+ name: "Homepage banner 2"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "homepage_banner"
+ type: image
+ path: "%fixtures_dir%/homepage_banner_2.png"
+ original_name: "homepage_banner_2.png"
+ translations:
+ en_US:
+ alt: "Homepage_banner_2"
+ homepage_banner_3:
+ name: "Homepage banner 3"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "homepage_banner"
+ type: image
+ path: "%fixtures_dir%/homepage_banner_3.png"
+ original_name: "homepage_banner_3.png"
+ translations:
+ en_US:
+ alt: "Homepage banner 3"
+ blog_banner:
+ name: "Blog banner"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog_images"
+ type: image
+ path: "%fixtures_dir%/blog_banner.png"
+ original_name: "blog_banner.png"
+ translations:
+ en_US:
+ alt: "Blog banner"
+ blog_post_1_header_banner:
+ name: "Blog post 1 banner"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog_images"
+ type: image
+ path: "%fixtures_dir%/blog_post_1_header_banner.png"
+ original_name: "blog_post_1_header_banner.png"
+ translations:
+ en_US:
+ alt: "Blog post 1 banner"
+ blog_post_2_header_banner:
+ name: "Blog post 2 banner"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog_images"
+ type: image
+ path: "%fixtures_dir%/blog_post_2_header_banner.png"
+ original_name: "blog_post_2_header_banner.png"
+ translations:
+ en_US:
+ alt: "Blog post 2 banner"
+ blog_post_3_header_banner:
+ name: "Blog post 3 banner"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog_images"
+ type: image
+ path: "%fixtures_dir%/blog_post_3_header_banner.png"
+ original_name: "blog_post_3_header_banner.png"
+ translations:
+ en_US:
+ alt: "Blog post 3 banner"
+ blog_post_1_teaser_image:
+ name: "Blog post 1 teaser"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog_images"
+ type: image
+ path: "%fixtures_dir%/blog_post_1_teaser_image.png"
+ original_name: "blog_post_1_teaser_image.png"
+ translations:
+ en_US:
+ alt: "Blog post 1 teaser"
+ blog_post_2_teaser_image:
+ name: "Blog post 2 teaser"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog_images"
+ type: image
+ path: "%fixtures_dir%/blog_post_2_teaser_image.png"
+ original_name: "blog_post_2_teaser_image.png"
+ translations:
+ en_US:
+ alt: "Blog post 2 teaser"
+ blog_post_3_teaser_image:
+ name: "Blog post 3 teaser"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog_images"
+ type: image
+ path: "%fixtures_dir%/blog_post_3_teaser_image.png"
+ original_name: "blog_post_3_teaser_image.png"
+ translations:
+ en_US:
+ alt: "Blog post 3 teaser"
+ blog_post_1_content_image_1:
+ name: "Blog post 1 content image 1"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog_images"
+ type: image
+ path: "%fixtures_dir%/blog_post_1_content_image_1.png"
+ original_name: "blog_post_1_content_image_1.png"
+ translations:
+ en_US:
+ alt: "Blog post 1 content image 1"
+ blog_post_1_content_image_2:
+ name: "Blog post 1 content image 2"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog_images"
+ type: image
+ path: "%fixtures_dir%/blog_post_1_content_image_2.png"
+ original_name: "blog_post_1_content_image_2.png"
+ translations:
+ en_US:
+ alt: "Blog post 1 content image 2"
+ blog_post_2_content_image_1:
+ name: "Blog post 2 content image 1"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog_images"
+ type: image
+ path: "%fixtures_dir%/blog_post_2_content_image_1.png"
+ original_name: "blog_post_2_content_image_1.png"
+ translations:
+ en_US:
+ alt: "Blog post 2 content image 1"
+ blog_post_2_content_image_2:
+ name: "Blog post 2 content image 2"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog_images"
+ type: image
+ path: "%fixtures_dir%/blog_post_2_content_image_2.png"
+ original_name: "blog_post_2_content_image_2.png"
+ translations:
+ en_US:
+ alt: "Blog post 2 content image 2"
+ blog_post_3_content_image_1:
+ name: "Blog post 3 content image 1"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog_images"
+ type: image
+ path: "%fixtures_dir%/blog_post_3_content_image_1.png"
+ original_name: "blog_post_3_content_image_1.png"
+ translations:
+ en_US:
+ alt: "Blog post 3 content image 1"
+ blog_post_3_content_image_2:
+ name: "Blog post 3 content image 2"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog_images"
+ type: image
+ path: "%fixtures_dir%/blog_post_3_content_image_2.png"
+ original_name: "blog_post_3_content_image_2.png"
+ translations:
+ en_US:
+ alt: "Blog post 3 content image 2"
diff --git a/tests/Application/config/packages/fixtures/1_template.yaml b/tests/Application/config/packages/fixtures/1_template.yaml
new file mode 100644
index 000000000..08bc5819b
--- /dev/null
+++ b/tests/Application/config/packages/fixtures/1_template.yaml
@@ -0,0 +1,26 @@
+parameters:
+ fixtures_dir: "%kernel.project_dir%/Resources/fixtures"
+
+sylius_fixtures:
+ suites:
+ default:
+ listeners:
+ orm_purger: ~
+ logger: ~
+ fixtures:
+ template:
+ options:
+ custom:
+ homepage:
+ name: "Page template"
+ type: "page"
+ content_elements:
+ - type: "textarea"
+ - type: "multiple_media"
+ about:
+ name: "Block template"
+ type: "block"
+ content_elements:
+ - type: "heading"
+ - type: "textarea"
+ - type: "single_media"
diff --git a/tests/Application/config/packages/fixtures/2_block.yaml b/tests/Application/config/packages/fixtures/2_block.yaml
new file mode 100644
index 000000000..69b1fdf6a
--- /dev/null
+++ b/tests/Application/config/packages/fixtures/2_block.yaml
@@ -0,0 +1,329 @@
+parameters:
+ fixtures_dir: "%kernel.project_dir%/Resources/fixtures"
+
+sylius_fixtures:
+ suites:
+ default:
+ listeners:
+ orm_purger: ~
+ logger: ~
+ fixtures:
+ block:
+ options:
+ custom:
+ homepage_textarea:
+ name: "Welcome in SyliusCmsPlugin!"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "homepage"
+ content_elements:
+ en_US:
+ spacer1:
+ type: "spacer"
+ data:
+ spacer: 12
+ heading:
+ type: "heading"
+ data:
+ heading_type: "h1"
+ heading: "Welcome in SyliusCmsPlugin! 🤗"
+ textarea:
+ type: "textarea"
+ data:
+ textarea: |
+
+ Welcome to SyliusCmsPlugin, where style meets comfort! Explore our latest collection of trendy t-shirts, stylish dresses, and versatile caps, designed for both men and women. Whether you're dressing up or keeping it casual, our curated selection offers something for everyone. Elevate your wardrobe with pieces that reflect your unique personality and fit perfectly into your everyday life. Shop now and discover your new favorite look!
+
+
+ Discover our latest collection:
+
+ - Trendy T-Shirts - Perfect for any occasion, our t-shirts combine comfort with contemporary designs.
+ - Stylish Dresses - From casual to chic, our dresses are crafted to make you feel confident and elegant.
+ - Versatile Caps - Add the perfect finishing touch with our range of caps, designed to complement any outfit.
+
+
+ homepage_products_carousel:
+ name: "See our collection of brand new T-Shirts!"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "homepage"
+ content_elements:
+ en_US:
+ heading:
+ type: "heading"
+ data:
+ heading_type: "h2"
+ heading: "See our collection of brand new T-Shirts! đź‘•"
+ textarea:
+ type: "textarea"
+ data:
+ textarea: |
+
+ Our T-Shirts collection offers a blend of comfort and style, featuring a variety of designs that cater to every taste. Whether you're looking for classic basics or bold statement pieces, you'll find the perfect fit to express your unique personality.
+
+ products_carousel:
+ type: "products_carousel"
+ data:
+ products_carousel:
+ products:
+ - "Everyday_white_basic_T_Shirt"
+ - "Loose_white_designer_T_Shirt"
+ - "Ribbed_copper_slim_fit_Tee"
+ - "Sport_basic_white_T_Shirt"
+ - "Raglan_grey_black_Tee"
+ - "Oversize_white_cotton_T_Shirt"
+ homepage_banner_1:
+ name: "Homepage banner 1"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "homepage"
+ - "black_friday"
+ content_elements:
+ en_US:
+ spacer1:
+ type: "spacer"
+ data:
+ spacer: 20
+ single_media:
+ type: "single_media"
+ data:
+ single_media: "homepage_banner_1"
+ spacer2:
+ type: "spacer"
+ data:
+ spacer: 20
+ homepage_banner_2:
+ name: "Homepage banner 2"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "homepage"
+ content_elements:
+ en_US:
+ single_media:
+ type: "single_media"
+ data:
+ single_media: "homepage_banner_2"
+ homepage_banner_3:
+ name: "Homepage banner 3"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "homepage"
+ content_elements:
+ en_US:
+ single_media:
+ type: "single_media"
+ data:
+ single_media: "homepage_banner_3"
+ spacer1:
+ type: "spacer"
+ data:
+ spacer: 10
+ homepage_products_carousel_by_taxon:
+ name: "How about jeans?"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "homepage"
+ content_elements:
+ en_US:
+ spacer1:
+ type: "spacer"
+ data:
+ spacer: 10
+ heading:
+ type: "heading"
+ data:
+ heading_type: "h2"
+ heading: "How about jeans? đź‘–"
+ textarea:
+ type: "textarea"
+ data:
+ textarea: |
+
+ Discover our Jeans collection, where comfort meets timeless style. Whether you're looking for the perfect pair to wear every day or something more fashion-forward, our jeans are designed to fit seamlessly into your wardrobe.
+
+
+ Key features of our Dresses collection:
+
+
+ - Variety of Fits: From skinny to relaxed, we have a fit for every body type.
+ - Premium Denim: Durable, high-quality fabrics that offer both comfort and longevity.
+ - Versatile Styles: Classic washes, distressed details, and contemporary cuts to suit any occasion.
+ - Perfect Stretch: Just the right amount of stretch for a comfortable, flattering fit.
+
+
+
+ Elevate your denim game with our collection and find your new favorite pair today!
+
+ products_carousel_by_taxon:
+ type: "products_carousel_by_taxon"
+ data:
+ products_carousel_by_taxon: "jeans"
+ homepage_products_grid:
+ name: "Meet our caps brand"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "homepage"
+ content_elements:
+ en_US:
+ heading:
+ type: "heading"
+ data:
+ heading_type: "h2"
+ heading: "Meet our caps brand 🧢"
+ textarea:
+ type: "textarea"
+ data:
+ textarea: |
+
+ Our Caps collection combines functionality with fashion, offering a range of designs that suit any style. Whether you need a sporty edge or a casual accessory, our caps are the perfect finishing touch for any outfit.
+
+ products_grid:
+ type: "products_grid"
+ data:
+ products_grid:
+ products:
+ - "Knitted_burgundy_winter_cap"
+ - "Knitted_wool_blend_green_cap"
+ - "Knitted_white_pompom_cap"
+ - "Cashmere_blend_violet_beanie"
+ homepage_products_grid_by_taxon:
+ name: "See also our dress collection!"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "homepage"
+ content_elements:
+ en_US:
+ heading:
+ type: "heading"
+ data:
+ heading_type: "h2"
+ heading: "See also our dress collection! đź‘—"
+ textarea:
+ type: "textarea"
+ data:
+ textarea: |
+
+ Explore our Dresses collection, where style and sophistication come together in perfect harmony. Whether you're dressing for a special occasion or simply want to elevate your everyday look, our dresses offer something for every moment.
+
+
+ Key features of our Dresses collection:
+
+
+ - Versatile Styles: From casual day dresses to elegant evening wear.
+ - High-Quality Fabrics: Soft, breathable materials that move with you.
+ - Flattering Fits: Designed to enhance your natural shape and boost confidence.
+ - Unique Designs: Standout patterns and colors that reflect the latest trends.
+
+
+
+ Find the perfect dress to match your style and make every day a little more special!
+
+ products_grid_by_taxon:
+ type: "products_grid_by_taxon"
+ data:
+ products_grid_by_taxon: "dresses"
+ homepage_taxons_list:
+ name: "Not interested in caps? See all our brands"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "homepage"
+ content_elements:
+ en_US:
+ heading:
+ type: "heading"
+ data:
+ heading_type: "h2"
+ heading: "Not interested in caps? See all our brands:"
+ textarea:
+ type: "textarea"
+ data:
+ textarea: |
+
+ Check out our other collections to complete your look! Explore our diverse range of T-Shirts, where comfort meets contemporary style, perfect for any occasion. Don't miss our Caps collection, offering the ideal blend of fashion and functionality to top off your outfit. And for those special moments, our Dresses collection features stylish options that will make you feel confident and elegant. Discover your new favorites today!
+
+ taxons_list:
+ type: "taxons_list"
+ data:
+ taxons_list:
+ taxons:
+ - "t_shirts"
+ - "caps"
+ - "dresses"
+ - "jeans"
+ black_friday_banner_taxon:
+ name: "Black friday banner (taxons)"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "black_friday"
+ taxons:
+ - "t_shirts"
+ - "mens_t_shirts"
+ - "womens_t_shirts"
+ content_elements:
+ en_US:
+ single_media:
+ type: "single_media"
+ data:
+ single_media: "black_friday_banner"
+ black_friday_banner_product:
+ name: "Black friday banner (products)"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "black_friday"
+ products_in_taxons:
+ - "mens_t_shirts"
+ - "womens_t_shirts"
+ content_elements:
+ en_US:
+ single_media:
+ type: "single_media"
+ data:
+ single_media: "black_friday_banner"
+ spacer1:
+ type: "spacer"
+ data:
+ spacer: 20
+ specified_products_in_taxons:
+ name: "You may also like"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "products_details"
+ products_in_taxons:
+ - "mens_t_shirts"
+ - "womens_t_shirts"
+ content_elements:
+ en_US:
+ spacer1:
+ type: "spacer"
+ data:
+ spacer: 20
+ heading1:
+ type: "heading"
+ data:
+ heading_type: "h2"
+ heading: "You may also like:"
+ products_carousel_by_taxon:
+ type: "products_carousel_by_taxon"
+ data:
+ products_carousel_by_taxon: "t_shirts"
+ heading2:
+ type: "heading"
+ data:
+ heading_type: "h2"
+ heading: "Our best sales:"
+ products_grid_by_taxon:
+ type: "products_grid_by_taxon"
+ data:
+ products_grid_by_taxon: "caps"
diff --git a/tests/Application/config/packages/fixtures/2_page.yaml b/tests/Application/config/packages/fixtures/2_page.yaml
new file mode 100644
index 000000000..a2e5038e5
--- /dev/null
+++ b/tests/Application/config/packages/fixtures/2_page.yaml
@@ -0,0 +1,559 @@
+parameters:
+ fixtures_dir: "%kernel.project_dir%/Resources/fixtures"
+
+sylius_fixtures:
+ suites:
+ default:
+ listeners:
+ orm_purger: ~
+ logger: ~
+ fixtures:
+ page:
+ options:
+ custom:
+ faq:
+ name: "Frequently Asked Questions"
+ channels:
+ - "FASHION_WEB"
+ translations:
+ en_US:
+ slug: "faq"
+ meta_title: "FAQ"
+ meta_keywords: "faq"
+ content_elements:
+ en_US:
+ question1:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "What sizes are available for your clothing items?"
+ answer1:
+ type: "textarea"
+ data:
+ textarea: "We are committed to sustainability and offer a selection of t-shirts and jeans made from eco-friendly materials. Look for our sustainability badge on the product pages for more information.>We offer a wide range of sizes for our t-shirts, caps, dresses, and jeans, from XS to XXL. Specific sizing information can be found on each product page.
"
+ question2:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Are your products unisex?"
+ answer2:
+ type: "textarea"
+ data:
+ textarea: "Yes, many of our t-shirts and caps are designed to be unisex, providing stylish options for both men and women. Our dresses are designed specifically for women, while our jeans come in both men’s and women’s fits.
"
+ question3:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "What materials are your t-shirts and jeans made from?"
+ answer3:
+ type: "textarea"
+ data:
+ textarea: "Our t-shirts are crafted from soft, high-quality cotton blends, while our jeans are made from durable denim with just the right amount of stretch for comfort.
"
+ question4:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "How should I care for my t-shirts and jeans to ensure they last?"
+ answer4:
+ type: "textarea"
+ data:
+ textarea: "We recommend washing your t-shirts and jeans in cold water and tumble drying on low heat to preserve their fit and color. Always check the care label for specific instructions.
"
+ question5:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Do you offer international shipping?"
+ answer5:
+ type: "textarea"
+ data:
+ textarea: "Yes, we offer international shipping to many countries. Shipping fees and delivery times will vary depending on your location.
"
+ question6:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Can I return or exchange an item if it doesn’t fit?"
+ answer6:
+ type: "textarea"
+ data:
+ textarea: "Absolutely! We have a hassle-free return and exchange policy. If your item doesn’t fit, you can return it within 30 days for a full refund or exchange.
"
+ question7:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Do you offer any discounts for bulk purchases?"
+ answer7:
+ type: "textarea"
+ data:
+ textarea: "Yes, we offer discounts on bulk orders. Please contact our customer service team for more information on bulk pricing and special offers.
"
+ question8:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "How do I find the right size for your caps?"
+ answer8:
+ type: "textarea"
+ data:
+ textarea: "Most of our caps are adjustable to fit a variety of head sizes. Each product page includes specific sizing information and instructions on how to adjust the fit.
"
+ question9:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Are your dresses suitable for formal occasions?"
+ answer9:
+ type: "textarea"
+ data:
+ textarea: "Yes, our Dresses collection includes a variety of styles, from casual daywear to elegant dresses perfect for formal events.
"
+ question10:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Do you have any eco-friendly or sustainable options?"
+ answer10:
+ type: "textarea"
+ data:
+ textarea: "We are committed to sustainability and offer a selection of t-shirts and jeans made from eco-friendly materials. Look for our sustainability badge on the product pages for more information.
"
+ blog:
+ name: "Blog"
+ channels:
+ - "FASHION_WEB"
+ translations:
+ en_US:
+ slug: "blog"
+ meta_title: "Blog"
+ content_elements:
+ en_US:
+ single_media:
+ type: "single_media"
+ data:
+ single_media: "blog_banner"
+ textarea:
+ type: "textarea"
+ data:
+ textarea: "Whether you need a sporty edge or a casual accessory, our stuff is the perfect finishing touch for any outfit.
"
+ pages_collection:
+ type: "pages_collection"
+ data:
+ pages_collection: "blog"
+ blog_post_1:
+ name: "#1: Your Ultimate Guide to Beach and Holiday Fashion: Hats, Shirts, Sunglasses, and Shoes"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog"
+ translations:
+ en_US:
+ slug: "blog-post-1"
+ meta_title: "Your Ultimate Guide to Beach and Holiday Fashion: Hats, Shirts, Sunglasses, and Shoes"
+ teaser_title: "Your Ultimate Guide to Beach and Holiday Fashion"
+ teaser_content: "When planning your beach holiday wardrobe, fashion and function go hand in hand. Whether you're lounging by the pool, strolling along sandy shores, or heading out for a casual seaside dinner, nailing the perfect look is key to a stylish yet comfortable vacation. In this blog post, we’ll dive into the must-have modern fashion pieces that will elevate your beach holiday style. From chic hats to breezy shirts, trendy sunglasses to versatile shoes—let's break down how to build the perfect holiday wardrobe.
"
+ teaser_image: "blog_post_1_teaser_image"
+ content_elements:
+ en_US:
+ single_media:
+ type: "single_media"
+ data:
+ single_media: "blog_post_1_header_banner"
+ spacer0:
+ type: "spacer"
+ data:
+ spacer: 10
+ heading1:
+ type: "heading"
+ data:
+ heading_type: "h2"
+ heading: "Your Ultimate Guide to Beach and Holiday Fashion: Hats, Shirts, Sunglasses, and Shoes"
+ intro:
+ type: "textarea"
+ data:
+ textarea: |
+ When planning your beach holiday wardrobe, fashion and function go hand in hand. Whether you're lounging by the pool, strolling along sandy shores, or heading out for a casual seaside dinner, nailing the perfect look is key to a stylish yet comfortable vacation. In this blog post, we’ll dive into the must-have modern fashion pieces that will elevate your beach holiday style. From chic hats to breezy shirts, trendy sunglasses to versatile shoes—let's break down how to build the perfect holiday wardrobe.
+ subheading1:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Stylish Hats: More Than Just Sun Protection"
+ text1:
+ type: "textarea"
+ data:
+ textarea: |
+ No beach wardrobe is complete without a fashionable hat. While sun protection is a must, the right hat can instantly elevate your outfit. Whether you prefer a classic wide-brimmed hat or something a bit more trendy like a bucket hat, here are some top options for your holiday look:
+
+ - Wide-brimmed Straw Hats: Ideal for a more elegant, laid-back beach look, offering maximum sun protection.
+ - Bucket Hats: Perfect for a casual, sporty vibe. They’ve made a huge comeback and are great for packing light.
+ - Fedoras: A touch of sophistication with a beachy twist. Pair it with your sundress or shirt for a relaxed, chic look.
+
+ These styles aren’t just practical — they’re fashion statements.
+ spacer1:
+ type: "spacer"
+ data:
+ spacer: 20
+ image_1:
+ type: "single_media"
+ data:
+ single_media: "blog_post_1_content_image_1"
+ spacer2:
+ type: "spacer"
+ data:
+ spacer: 10
+ subheading2:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Breezy Shirts: Keeping It Cool and Comfortable"
+ text2:
+ type: "textarea"
+ data:
+ textarea: |
+ Shirts are the unsung heroes of beach and holiday wardrobes. You want something light, breathable, and versatile enough to take you from day to night. Here are some modern shirt styles to consider:
+
+ - Linen Shirts: Lightweight and airy, linen shirts are perfect for staying cool in hot weather. Their natural, textured look adds a laid-back charm.
+ - Oversized Button-Downs: Easy to throw over swimwear or pair with shorts. These are ideal for a relaxed yet stylish beach vibe.
+ - Bold Prints and Patterns: Don’t be afraid to experiment with tropical prints or stripes, which scream beach holiday!
+
+ The beauty of these shirts is their versatility, easily styled for daytime beach wear or a casual evening out.
+ spacer3:
+ type: "spacer"
+ data:
+ spacer: 10
+ products_grid:
+ type: "products_grid"
+ data:
+ products_grid:
+ products:
+ - "Raglan_grey_&_black_Tee"
+ - "Loose_white_designer_T_Shirt"
+ - "Sport_basic_white_T_Shirt"
+ - "Ribbed_copper_slim_fit_Tee"
+ subheading3:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Trendy Sunglasses: Protect Your Eyes in Style"
+ text3:
+ type: "textarea"
+ data:
+ textarea: |
+ Sunglasses are not only essential for protecting your eyes from the sun but are also a critical accessory in pulling together your holiday look. This season’s sunglasses trends are all about bold shapes and eye-catching designs:
+
+ - Oversized Frames: Channeling a retro vibe, oversized frames add glamour to any beach outfit.
+ - Aviators: Timeless and cool, aviators are a classic style that suits almost everyone.
+ - Colored Lenses: This playful trend can add a pop of color to your holiday look. Think shades of pink, blue, or yellow.
+
+ The right pair of sunglasses doesn’t just protect — it adds personality and polish to your overall look.
+ spacer4:
+ type: "spacer"
+ data:
+ spacer: 20
+ image_2:
+ type: "single_media"
+ data:
+ single_media: "blog_post_1_content_image_2"
+ spacer5:
+ type: "spacer"
+ data:
+ spacer: 10
+ subheading4:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Footwear: From Sand to Streets"
+ text4:
+ type: "textarea"
+ data:
+ textarea: |
+ When it comes to holiday shoes, versatility is key. You need shoes that are comfortable for walking but also stylish enough to transition from the beach to the bar. Here are the best shoe styles for your beach holiday:
+
+ - Espadrilles: These comfortable, breathable shoes are perfect for the beach, yet stylish enough for an evening stroll.
+ - Slide Sandals: Easy to slip on and off, slide sandals are the ultimate convenience for days spent on the sand. Plus, they come in various chic designs and materials.
+ - Sneakers: For those exploring coastal towns or going on holiday adventures, a pair of fashionable yet comfortable sneakers is a must-have.
+
+ With these footwear options, you can easily switch between sandy beaches and urban explorations without compromising on style.
+ outro_heading:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Conclusion"
+ outro_text:
+ type: "textarea"
+ data:
+ textarea: |
+ Building the perfect beach and holiday wardrobe doesn’t have to be complicated. Focus on key pieces — hats, shirts, sunglasses, and shoes — that combine fashion and functionality. Whether you’re going for a laid-back beach look or something a little more polished for evening outings, these modern fashion essentials will have you looking and feeling your best on your holiday. So pack smart, and enjoy your time in the sun with confidence and style!
+ blog_post_2:
+ name: "#2: Beach Suits for Everyone: Stylish and Functional Options for Women, Men, and Children"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog"
+ translations:
+ en_US:
+ slug: "blog-post-2"
+ meta_title: "Beach Suits for Everyone: Stylish and Functional Options for Women, Men, and Children"
+ teaser_title: "Beach Suits for Everyone"
+ teaser_content: "Finding the perfect beach suit isn’t just about looking good — it’s also about comfort and versatility. Whether you’re swimming, playing beach volleyball, or simply relaxing by the water, the right beachwear can make a world of difference. In this guide, we’ll explore the top beach suit trends for women, men, and children, ensuring that the whole family is stylishly prepared for any seaside adventure. From flattering swimsuits to practical designs for kids, we've got you covered.
"
+ teaser_image: "blog_post_2_teaser_image"
+ content_elements:
+ en_US:
+ single_media:
+ type: "single_media"
+ data:
+ single_media: "blog_post_2_header_banner"
+ spacer0:
+ type: "spacer"
+ data:
+ spacer: 10
+ heading1:
+ type: "heading"
+ data:
+ heading_type: "h2"
+ heading: "Beach Suits for Everyone: Stylish and Functional Options for Women, Men, and Children"
+ intro:
+ type: "textarea"
+ data:
+ textarea: |
+ Finding the perfect beach suit isn’t just about looking good — it’s also about comfort and versatility. Whether you’re swimming, playing beach volleyball, or simply relaxing by the water, the right beachwear can make a world of difference. In this guide, we’ll explore the top beach suit trends for women, men, and children, ensuring that the whole family is stylishly prepared for any seaside adventure. From flattering swimsuits to practical designs for kids, we've got you covered.
+ subheading1:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Women’s Beach Suits: Chic and Comfortable"
+ text1:
+ type: "textarea"
+ data:
+ textarea: |
+ Women’s beachwear has come a long way from basic bikinis. Modern trends offer a wide array of styles that suit different body types, preferences, and activities. Here are some top picks for stylish and functional women’s beach suits:
+
+ - High-Waisted Bikinis: Offering a retro vibe, these are flattering for most figures and provide extra coverage, making them both stylish and comfortable.
+ - One-Piece Swimsuits: Perfect for active days at the beach, one-piece suits have made a huge comeback. Look for designs with cutouts or bold prints to stay trendy.
+ - Tankinis: A combination of a tank top and bikini bottoms, tankinis are ideal for those seeking more coverage without sacrificing style.
+
+ These options ensure that you’ll not only feel confident in your swimwear but also be ready for anything, from swimming to sunbathing.
+ spacer1:
+ type: "spacer"
+ data:
+ spacer: 20
+ image_1:
+ type: "single_media"
+ data:
+ single_media: "blog_post_2_content_image_1"
+ spacer2:
+ type: "spacer"
+ data:
+ spacer: 10
+ subheading2:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Men’s Beach Suits: From Casual to Sporty"
+ text2:
+ type: "textarea"
+ data:
+ textarea: |
+ Men’s beachwear has evolved from basic board shorts to more diverse and stylish options. Whether you’re looking for something functional for water sports or something casual for lounging, here are the best beach suit options for men:
+
+ - Board Shorts: A classic option, board shorts are great for both swimming and casual beach activities. Opt for quick-dry materials for extra comfort.
+ - Swim Trunks: These shorter, more tailored versions of board shorts have become increasingly popular. They offer a modern look without compromising on comfort.
+ - Rash Guards: If you’re planning on spending time surfing or participating in water sports, a rash guard is a must. Not only does it protect your skin from the sun, but it also helps prevent irritation from sand and saltwater.
+
+ These suits provide the perfect combination of practicality and style, ensuring men can enjoy their beach day in comfort.
+ spacer3:
+ type: "spacer"
+ data:
+ spacer: 10
+ products_grid:
+ type: "products_grid_by_taxon"
+ data:
+ products_grid_by_taxon: "dresses"
+ subheading3:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Beach Suits for Kids: Fun and Functional"
+ text3:
+ type: "textarea"
+ data:
+ textarea: |
+ When it comes to children’s beachwear, the focus is on sun protection and comfort. However, that doesn’t mean kids can’t be stylish while they play in the sand! Here are some great options for children’s beach suits:
+
+ - Rash Guards and Swim Shirts: For both boys and girls, rash guards or swim shirts offer excellent sun protection. Look for ones with UV protection built in to keep your kids safe from the sun.
+ - One-Piece Swimsuits for Girls: A classic and practical choice, one-piece swimsuits provide full coverage and are easy for active beach days.
+ - Swim Shorts for Boys: Swim shorts in fun, bold prints are perfect for boys who are constantly on the move. Look for quick-drying fabrics that can handle everything from swimming to sandcastle building.
+
+ These suits ensure that kids can enjoy the beach safely, comfortably, and with a sense of style.
+ spacer4:
+ type: "spacer"
+ data:
+ spacer: 20
+ image_2:
+ type: "single_media"
+ data:
+ single_media: "blog_post_2_content_image_2"
+ spacer5:
+ type: "spacer"
+ data:
+ spacer: 10
+ subheading4:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Choosing the Right Fabrics and Features for All Ages"
+ text4:
+ type: "textarea"
+ data:
+ textarea: |
+ No matter who you're shopping for — women, men, or children — choosing the right materials and features is key to getting the most out of your beachwear. Here are some essential things to look out for when buying beach suits:
+
+ - Quick-Drying Fabrics: For both comfort and convenience, quick-drying fabrics are a must. They prevent chafing and make transitions from beach to lunch much smoother.
+ - Sun Protection: Many modern beach suits come with built-in UV protection, which is particularly important for kids but also useful for adults.
+ - Adjustable Straps and Waistbands: For both women’s and men’s suits, adjustable straps or waistbands can make a huge difference in terms of comfort. Look for these features to ensure the perfect fit.
+
+ With the right fabrics and functional features, your beach suits will last longer and provide maximum comfort throughout your holiday.
+ outro_heading:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Conclusion"
+ outro_text:
+ type: "textarea"
+ data:
+ textarea: |
+ Finding the perfect beach suit for the entire family doesn't have to be a challenge. With stylish and practical options available for women, men, and children, everyone can feel comfortable and confident at the beach. Whether you're looking for sun protection, the perfect fit, or the latest trends, these beach suits offer everything you need for a fun-filled holiday by the sea. So pack up your beach bag and get ready to make a splash with your new, fashionable beachwear!
+
+ blog_post_3:
+ name: "#3: Beach-Ready Fashion for Men and Boys: T-Shirts, Shorts, and Shoes"
+ channels:
+ - "FASHION_WEB"
+ collections:
+ - "blog"
+ translations:
+ en_US:
+ slug: "blog-post-3"
+ meta_title: "Beach-Ready Fashion for Men and Boys: T-Shirts, Shorts, and Shoes"
+ teaser_title: "Beach-Ready Fashion for Men and Boys"
+ teaser_content: "When hitting the beach, comfort is key, but that doesn't mean style has to take a backseat. Whether you’re a man looking for the perfect holiday wardrobe or shopping for your boys, you’ll want to find pieces that combine practicality with a touch of flair. In this guide, we’ll explore the top T-shirts, shorts, and shoes for men and boys, helping you put together the ideal beach outfit. From breezy shirts to functional footwear, this is your go-to guide for looking stylish while enjoying the sun, sand, and surf.
"
+ teaser_image: "blog_post_3_teaser_image"
+ content_elements:
+ en_US:
+ single_media:
+ type: "single_media"
+ data:
+ single_media: "blog_post_3_header_banner"
+ spacer0:
+ type: "spacer"
+ data:
+ spacer: 10
+ heading1:
+ type: "heading"
+ data:
+ heading_type: "h2"
+ heading: "Beach-Ready Fashion for Men and Boys: T-Shirts, Shorts, and Shoes"
+ intro:
+ type: "textarea"
+ data:
+ textarea: |
+ When hitting the beach, comfort is key, but that doesn't mean style has to take a backseat. Whether you’re a man looking for the perfect holiday wardrobe or shopping for your boys, you’ll want to find pieces that combine practicality with a touch of flair. In this guide, we’ll explore the top T-shirts, shorts, and shoes for men and boys, helping you put together the ideal beach outfit. From breezy shirts to functional footwear, this is your go-to guide for looking stylish while enjoying the sun, sand, and surf.
+ subheading1:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "T-Shirts for Men: Style Meets Comfort"
+ text1:
+ type: "textarea"
+ data:
+ textarea: |
+ A well-chosen T-shirt is an essential part of any beach look for men. The right fabric and fit can keep you cool while still looking sharp, even in the hottest weather. Here are some modern T-shirt styles that are perfect for the beach:
+
+ - Cotton Crew Necks: A simple cotton T-shirt is a timeless option for casual beachwear. Look for lightweight fabrics to keep cool while still offering comfort.
+ - Linen Tees: For those really hot days, a linen T-shirt is perfect. It’s breathable and gives off a laid-back, effortless vibe.
+ - Graphic Tees: Add a bit of personality to your beach outfit with a fun graphic tee. Whether it’s a tropical print or a favorite logo, graphic tees keep things interesting and on-trend.
+
+ These styles ensure you look good while staying comfortable, whether you’re lounging on the beach or heading to a seaside café.
+ spacer1:
+ type: "spacer"
+ data:
+ spacer: 20
+ image_1:
+ type: "single_media"
+ data:
+ single_media: "blog_post_3_content_image_1"
+ spacer2:
+ type: "spacer"
+ data:
+ spacer: 10
+ subheading2:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "T-Shirts for Boys: Fun and Functional"
+ text2:
+ type: "textarea"
+ data:
+ textarea: |
+ When it comes to boys’ T-shirts, you need pieces that are both practical and playful. Boys are always on the move, so their beach wardrobe should reflect that. Here are some great T-shirt options for boys:
+
+ - Activewear Tees: Moisture-wicking fabrics are perfect for boys who love to run around at the beach. These tees keep them dry and comfortable throughout the day.
+ - Bold Prints and Patterns: Whether it’s sharks, surfboards, or palm trees, boys’ T-shirts should be fun. Look for bold prints that capture the excitement of summer.
+ - Rash Guard Shirts: For sun protection, rash guard shirts are a must. These snug-fitting shirts protect against UV rays and are ideal for active days in the water.
+
+ These T-shirts combine comfort with style, ensuring boys can play and swim while staying protected and cool.
+ spacer3:
+ type: "spacer"
+ data:
+ spacer: 10
+ products_carousel_by_taxon:
+ type: "products_carousel_by_taxon"
+ data:
+ products_carousel_by_taxon: "t_shirts"
+ subheading3:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Shorts for Men: Practicality with a Stylish Twist"
+ text3:
+ type: "textarea"
+ data:
+ textarea: |
+ Choosing the right pair of shorts for the beach is crucial. Men need something that’s easy to move in but also stylish enough for post-beach activities. Here are some top picks for beach shorts:
+
+ - Board Shorts: Classic and functional, board shorts are perfect for swimming and beach sports. They’re usually made of quick-drying fabric and come in various lengths, so you can choose what’s most comfortable for you.
+ - Chino Shorts: If you’re planning to hit a beachside restaurant or bar after your swim, chino shorts are a great option. They’re stylish yet casual, making them versatile for both water and land.
+ - Hybrid Shorts: These are a combination of swim trunks and casual shorts. Hybrid shorts are designed to dry quickly, allowing you to wear them straight from the beach to a casual outing without needing to change.
+
+ With these options, you’ll always look good while staying comfortable and ready for any beachside activity.
+ spacer4:
+ type: "spacer"
+ data:
+ spacer: 20
+ image_2:
+ type: "single_media"
+ data:
+ single_media: "blog_post_3_content_image_2"
+ spacer5:
+ type: "spacer"
+ data:
+ spacer: 10
+ subheading4:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Shorts for Boys: Durable and Play-Friendly"
+ text4:
+ type: "textarea"
+ data:
+ textarea: |
+ Boys need shorts that can withstand a day full of activities, from swimming to sandcastle building. Comfort, durability, and style should all come together. Here are some great beach short options for boys:
+
+ - Swim Trunks with Built-In Liners: Swim trunks with mesh liners are perfect for active boys. They’re designed for swimming, but they also dry quickly and offer freedom of movement.
+ - Cargo Shorts: Ideal for boys who love pockets! Cargo shorts are not only durable but also practical, with plenty of space to stash beach finds.
+ - Elastic Waist Shorts: For younger boys, elastic waistbands make it easy to slip shorts on and off. Look for lightweight, quick-dry materials for ultimate beach comfort.
+
+ These options ensure boys can enjoy their time at the beach with full freedom of movement while looking cute and cool.
+ outro_heading:
+ type: "heading"
+ data:
+ heading_type: "h3"
+ heading: "Conclusion"
+ outro_text:
+ type: "textarea"
+ data:
+ textarea: |
+ With the right T-shirts, shorts, and shoes, men and boys can enjoy their time at the beach in both style and comfort. From cool, breathable shirts to functional and fashionable shorts, and durable footwear, there are plenty of options to ensure everyone looks great while feeling good. Whether it’s a casual beach day or an adventure-filled holiday, these fashion staples will have you covered from sand to shore. So pack smart and get ready to enjoy the sun, sea, and sand in style!
diff --git a/tests/Application/config/packages/sylius_cms_plugin.yaml b/tests/Application/config/packages/sylius_cms_plugin.yaml
index 387c87eaf..ccf2732c5 100644
--- a/tests/Application/config/packages/sylius_cms_plugin.yaml
+++ b/tests/Application/config/packages/sylius_cms_plugin.yaml
@@ -1,584 +1,3 @@
imports:
- { resource: "@SyliusCmsPlugin/Resources/config/config.yml" }
-
-parameters:
- fixtures_dir: "%kernel.project_dir%/Resources/fixtures"
-
-sylius_fixtures:
- suites:
- default:
- listeners:
- orm_purger: ~
- logger: ~
- fixtures:
- collection:
- options:
- custom:
- blog:
- name: "Blog"
- type: "page"
- page_codes:
- - "lorem_ipsum"
- general:
- name: "General"
- type: "block"
- store:
- name: "Store"
- type: "block"
- homepage:
- name: "Homepage"
- type: "page"
- products:
- name: "Products"
- type: "media"
- block:
- options:
- custom:
- homepage_textarea:
- name: "Homepage textarea"
- channels:
- - "FASHION_WEB"
- content_elements:
- en_US:
- heading:
- type: "heading"
- data:
- heading_type: "h1"
- heading: "Textarea"
- textarea:
- type: "textarea"
- data:
- textarea: |
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. In metus metus, pellentesque feugiat dictum vitae, viverra et purus. Etiam ornare arcu eget bibendum ornare. Donec at dictum odio, venenatis imperdiet tortor. Aenean aliquam mauris id massa commodo condimentum. Praesent sit amet feugiat justo, quis dictum nulla.
- Fusce gravida orci eu lorem pharetra viverra. Ut non posuere arcu, pellentesque tristique massa. Donec sit amet efficitur risus, a mattis sem. Pellentesque id fringilla lorem, non finibus velit.
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In metus metus, pellentesque feugiat dictum vitae, viverra et purus. Etiam ornare arcu eget bibendum ornare. Donec at dictum odio, venenatis imperdiet tortor. Aenean aliquam mauris id massa commodo condimentum. Praesent sit amet feugiat justo, quis dictum nulla.
- Fusce gravida orci eu lorem pharetra viverra. Ut non posuere arcu, pellentesque tristique massa. Donec sit amet efficitur risus, a mattis sem. Pellentesque id fringilla lorem, non finibus velit.
- homepage_products_carousel:
- name: "Homepage products carousel"
- channels:
- - "FASHION_WEB"
- content_elements:
- en_US:
- heading:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Products carousel"
- products_carousel:
- type: "products_carousel"
- data:
- products_carousel:
- products:
- - "Everyday_white_basic_T_Shirt"
- - "Loose_white_designer_T_Shirt"
- - "Ribbed_copper_slim_fit_Tee"
- - "Sport_basic_white_T_Shirt"
- homepage_products_carousel_by_taxon:
- name: "Homepage products carousel by Taxon"
- channels:
- - "FASHION_WEB"
- content_elements:
- en_US:
- heading:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Products carousel by Taxon"
- products_carousel_by_taxon:
- type: "products_carousel_by_taxon"
- data:
- products_carousel_by_taxon: "t_shirts"
- homepage_products_grid:
- name: "Homepage products grid"
- channels:
- - "FASHION_WEB"
- content_elements:
- en_US:
- heading:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Products grid"
- products_grid:
- type: "products_grid"
- data:
- products_grid:
- products:
- - "Raglan_grey_&_black_Tee"
- - "Loose_white_designer_T_Shirt"
- - "Sport_basic_white_T_Shirt"
- - "Ribbed_copper_slim_fit_Tee"
- homepage_products_grid_by_taxon:
- name: "Homepage products grid by Taxon"
- channels:
- - "FASHION_WEB"
- content_elements:
- en_US:
- heading:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Products grid by Taxon"
- products_grid_by_taxon:
- type: "products_grid_by_taxon"
- data:
- products_grid_by_taxon: "caps"
- homepage_taxons_list:
- name: "Homepage taxons list"
- channels:
- - "FASHION_WEB"
- content_elements:
- en_US:
- heading:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Taxons list"
- taxons_list:
- type: "taxons_list"
- data:
- taxons_list:
- taxons:
- - "t_shirts"
- - "caps"
- - "dresses"
- - "jeans"
- taxon_t_shirts_banner:
- name: "T-Shirts banner"
- channels:
- - "FASHION_WEB"
- taxons:
- - "t_shirts"
- content_elements:
- en_US:
- heading:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Image block for specified category (T-Shirts)"
- single_media:
- type: "single_media"
- data:
- single_media: "t_shirts_banner"
- specified_products_banner:
- name: "Specified products banner"
- channels:
- - "FASHION_WEB"
- products:
- - "Everyday_white_basic_T_Shirt"
- - "Loose_white_designer_T_Shirt"
- - "Ribbed_copper_slim_fit_Tee"
- content_elements:
- en_US:
- heading:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Image block for specified products"
- single_media:
- type: "single_media"
- data:
- single_media: "specified_products_banner"
- specified_products_in_taxons:
- name: "Specified products in taxons"
- channels:
- - "FASHION_WEB"
- products_in_taxons:
- - "womens_t_shirts"
- content_elements:
- en_US:
- heading:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Block for products in specified taxons"
- products_carousel_by_taxon:
- type: "products_carousel_by_taxon"
- data:
- products_carousel_by_taxon: "t_shirts"
- products_grid_by_taxon:
- type: "products_grid_by_taxon"
- data:
- products_grid_by_taxon: "caps"
- media:
- options:
- custom:
- homepage_video:
- type: video
- path: "%fixtures_dir%/homepage_video.mp4"
- original_name: "homepage_video.mp4"
- name: |
- Homepage video media
- channels:
- - "FASHION_WEB"
- translations:
- en_US:
- alt: Homepage video
- content: |
- Media description
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
- tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
- quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
-
- homepage_pdf:
- type: file
- path: "%fixtures_dir%/BitBagOffer.pdf"
- original_name: "BitBagOffer.pdf"
- name: Homepage PDF media
- channels:
- - "FASHION_WEB"
- translations:
- en_US:
- alt: CMS offer
- content: |
- File description
-
- The below button links to a PDF file.
- Check it out!
-
- size_table:
- channels:
- - "FASHION_WEB"
- type: image
- path: "%fixtures_dir%/size_table.jpeg"
- original_name: "size_table.jpeg"
- sale:
- name: "Sale"
- channels:
- - "FASHION_WEB"
- type: image
- path: "%fixtures_dir%/sale.jpeg"
- original_name: "sale.jpeg"
- collections:
- - "products"
- t_shirts_banner:
- name: "T-Shirts banner"
- channels:
- - "FASHION_WEB"
- type: image
- path: "%fixtures_dir%/t_shirts_banner.jpg"
- original_name: "t_shirts_banner.jpg"
- translations:
- en_US:
- alt: "T-Shirts banner"
- specified_products_banner:
- name: "Specified products banner"
- channels:
- - "FASHION_WEB"
- type: image
- path: "%fixtures_dir%/specified_products_banner.jpg"
- original_name: "specified_products_banner.jpg"
- translations:
- en_US:
- alt: "Specified products banner"
- blog_banner:
- name: "Blog banner"
- channels:
- - "FASHION_WEB"
- type: image
- path: "%fixtures_dir%/blog_banner.png"
- original_name: "blog_banner.png"
- translations:
- en_US:
- alt: "Blog banner"
- blog_post_1_header_banner:
- name: "Blog post 1 banner"
- channels:
- - "FASHION_WEB"
- type: image
- path: "%fixtures_dir%/blog_post_1_header_banner.jpg"
- original_name: "blog_post_1_header_banner.jpg"
- translations:
- en_US:
- alt: "Blog post 1 banner"
- page:
- options:
- custom:
- faq:
- name: "Frequently Asked Questions"
- channels:
- - "FASHION_WEB"
- translations:
- en_US:
- slug: "faq"
- meta_title: "FAQ"
- meta_keywords: "faq"
- content_elements:
- en_US:
- question1:
- type: "heading"
- data:
- heading_type: "h3"
- heading: "Lorem ipsum dolor sit amet, consectetur adipiscing elit?"
- answer1:
- type: "textarea"
- data:
- textarea: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
"
- question2:
- type: "heading"
- data:
- heading_type: "h3"
- heading: "Lorem ipsum dolor sit amet, consectetur adipiscing elit?"
- answer2:
- type: "textarea"
- data:
- textarea: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
"
- question3:
- type: "heading"
- data:
- heading_type: "h3"
- heading: "Lorem ipsum dolor sit amet, consectetur adipiscing elit?"
- answer3:
- type: "textarea"
- data:
- textarea: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
"
- question4:
- type: "heading"
- data:
- heading_type: "h3"
- heading: "Lorem ipsum dolor sit amet, consectetur adipiscing elit?"
- answer4:
- type: "textarea"
- data:
- textarea: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
"
- question5:
- type: "heading"
- data:
- heading_type: "h3"
- heading: "Lorem ipsum dolor sit amet, consectetur adipiscing elit?"
- answer5:
- type: "textarea"
- data:
- textarea: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
"
- blog:
- name: "Blog"
- channels:
- - "FASHION_WEB"
- translations:
- en_US:
- slug: "blog"
- meta_title: "Blog"
- content_elements:
- en_US:
- single_media:
- type: "single_media"
- data:
- single_media: "blog_banner"
- textarea:
- type: "textarea"
- data:
- textarea: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean molestie nulla ac tempus volutpat.
"
- pages_collection:
- type: "pages_collection"
- data:
- pages_collection: "blog"
- blog_post_1:
- name: "Blog post 1"
- channels:
- - "FASHION_WEB"
- collections:
- - "blog"
- translations:
- en_US:
- slug: "blog-post-1"
- meta_title: "Blog post 1"
- teaser_title: "Blog post 1"
- teaser_content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean molestie nulla ac tempus volutpat. Aenean aliquet viverra sem a feugiat. Pellentesque a sollicitudin lacus. Mauris vel dolor quis justo vestibulum posuere. Sed sagittis, ipsum a cursus porttitor, justo felis tincidunt neque, eget scelerisque lacus sapien tempor felis.
"
- teaser_image: "sale"
- content_elements:
- en_US:
- single_media:
- type: "single_media"
- data:
- single_media: "blog_post_1_header_banner"
- spacer1:
- type: "spacer"
- data:
- spacer: 30
- heading1:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
- text1:
- type: "textarea"
- data:
- textarea: |
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. In metus metus, pellentesque feugiat dictum vitae, viverra et purus. Etiam ornare arcu eget bibendum ornare. Donec at dictum odio, venenatis imperdiet tortor. Aenean aliquam mauris id massa commodo condimentum. Praesent sit amet feugiat justo, quis dictum nulla.
- Fusce gravida orci eu lorem pharetra viverra. Ut non posuere arcu, pellentesque tristique massa. Donec sit amet efficitur risus, a mattis sem. Pellentesque id fringilla lorem, non finibus velit.
- spacer2:
- type: "spacer"
- data:
- spacer: 30
- products_grid:
- type: "products_grid"
- data:
- products_grid:
- products:
- - "Raglan_grey_&_black_Tee"
- - "Loose_white_designer_T_Shirt"
- - "Sport_basic_white_T_Shirt"
- - "Ribbed_copper_slim_fit_Tee"
- heading2:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
- text2:
- type: "textarea"
- data:
- textarea: |
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. In metus metus, pellentesque feugiat dictum vitae, viverra et purus. Etiam ornare arcu eget bibendum ornare. Donec at dictum odio, venenatis imperdiet tortor. Aenean aliquam mauris id massa commodo condimentum. Praesent sit amet feugiat justo, quis dictum nulla.
- Fusce gravida orci eu lorem pharetra viverra. Ut non posuere arcu, pellentesque tristique massa. Donec sit amet efficitur risus, a mattis sem. Pellentesque id fringilla lorem, non finibus velit.
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In metus metus, pellentesque feugiat dictum vitae, viverra et purus. Etiam ornare arcu eget bibendum ornare. Donec at dictum odio, venenatis imperdiet tortor. Aenean aliquam mauris id massa commodo condimentum. Praesent sit amet feugiat justo, quis dictum nulla.
- Fusce gravida orci eu lorem pharetra viverra. Ut non posuere arcu, pellentesque tristique massa. Donec sit amet efficitur risus, a mattis sem. Pellentesque id fringilla lorem, non finibus velit.
- blog_post_2:
- name: "Blog post 2"
- channels:
- - "FASHION_WEB"
- collections:
- - "blog"
- translations:
- en_US:
- slug: "blog-post-2"
- meta_title: "Blog post 2"
- teaser_title: "Blog post 2"
- teaser_content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean molestie nulla ac tempus volutpat. Aenean aliquet viverra sem a feugiat. Pellentesque a sollicitudin lacus. Mauris vel dolor quis justo vestibulum posuere. Sed sagittis, ipsum a cursus porttitor, justo felis tincidunt neque, eget scelerisque lacus sapien tempor felis.
"
- teaser_image: "sale"
- content_elements:
- en_US:
- single_media:
- type: "single_media"
- data:
- single_media: "blog_post_1_header_banner"
- spacer1:
- type: "spacer"
- data:
- spacer: 30
- heading1:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
- text1:
- type: "textarea"
- data:
- textarea: |
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. In metus metus, pellentesque feugiat dictum vitae, viverra et purus. Etiam ornare arcu eget bibendum ornare. Donec at dictum odio, venenatis imperdiet tortor. Aenean aliquam mauris id massa commodo condimentum. Praesent sit amet feugiat justo, quis dictum nulla.
- Fusce gravida orci eu lorem pharetra viverra. Ut non posuere arcu, pellentesque tristique massa. Donec sit amet efficitur risus, a mattis sem. Pellentesque id fringilla lorem, non finibus velit.
- spacer2:
- type: "spacer"
- data:
- spacer: 30
- products_grid:
- type: "products_grid"
- data:
- products_grid:
- products:
- - "Raglan_grey_&_black_Tee"
- - "Loose_white_designer_T_Shirt"
- - "Sport_basic_white_T_Shirt"
- - "Ribbed_copper_slim_fit_Tee"
- heading2:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
- text2:
- type: "textarea"
- data:
- textarea: |
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. In metus metus, pellentesque feugiat dictum vitae, viverra et purus. Etiam ornare arcu eget bibendum ornare. Donec at dictum odio, venenatis imperdiet tortor. Aenean aliquam mauris id massa commodo condimentum. Praesent sit amet feugiat justo, quis dictum nulla.
- Fusce gravida orci eu lorem pharetra viverra. Ut non posuere arcu, pellentesque tristique massa. Donec sit amet efficitur risus, a mattis sem. Pellentesque id fringilla lorem, non finibus velit.
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In metus metus, pellentesque feugiat dictum vitae, viverra et purus. Etiam ornare arcu eget bibendum ornare. Donec at dictum odio, venenatis imperdiet tortor. Aenean aliquam mauris id massa commodo condimentum. Praesent sit amet feugiat justo, quis dictum nulla.
- Fusce gravida orci eu lorem pharetra viverra. Ut non posuere arcu, pellentesque tristique massa. Donec sit amet efficitur risus, a mattis sem. Pellentesque id fringilla lorem, non finibus velit.
- blog_post_3:
- name: "Blog post 3"
- channels:
- - "FASHION_WEB"
- collections:
- - "blog"
- translations:
- en_US:
- slug: "blog-post-3"
- meta_title: "Blog post 3"
- teaser_title: "Blog post 3"
- teaser_content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean molestie nulla ac tempus volutpat. Aenean aliquet viverra sem a feugiat. Pellentesque a sollicitudin lacus. Mauris vel dolor quis justo vestibulum posuere. Sed sagittis, ipsum a cursus porttitor, justo felis tincidunt neque, eget scelerisque lacus sapien tempor felis.
"
- teaser_image: "sale"
- content_elements:
- en_US:
- single_media:
- type: "single_media"
- data:
- single_media: "blog_post_1_header_banner"
- spacer1:
- type: "spacer"
- data:
- spacer: 30
- heading1:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
- text1:
- type: "textarea"
- data:
- textarea: |
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. In metus metus, pellentesque feugiat dictum vitae, viverra et purus. Etiam ornare arcu eget bibendum ornare. Donec at dictum odio, venenatis imperdiet tortor. Aenean aliquam mauris id massa commodo condimentum. Praesent sit amet feugiat justo, quis dictum nulla.
- Fusce gravida orci eu lorem pharetra viverra. Ut non posuere arcu, pellentesque tristique massa. Donec sit amet efficitur risus, a mattis sem. Pellentesque id fringilla lorem, non finibus velit.
- spacer2:
- type: "spacer"
- data:
- spacer: 30
- products_grid:
- type: "products_grid"
- data:
- products_grid:
- products:
- - "Raglan_grey_&_black_Tee"
- - "Loose_white_designer_T_Shirt"
- - "Sport_basic_white_T_Shirt"
- - "Ribbed_copper_slim_fit_Tee"
- heading2:
- type: "heading"
- data:
- heading_type: "h2"
- heading: "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
- text2:
- type: "textarea"
- data:
- textarea: |
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. In metus metus, pellentesque feugiat dictum vitae, viverra et purus. Etiam ornare arcu eget bibendum ornare. Donec at dictum odio, venenatis imperdiet tortor. Aenean aliquam mauris id massa commodo condimentum. Praesent sit amet feugiat justo, quis dictum nulla.
- Fusce gravida orci eu lorem pharetra viverra. Ut non posuere arcu, pellentesque tristique massa. Donec sit amet efficitur risus, a mattis sem. Pellentesque id fringilla lorem, non finibus velit.
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In metus metus, pellentesque feugiat dictum vitae, viverra et purus. Etiam ornare arcu eget bibendum ornare. Donec at dictum odio, venenatis imperdiet tortor. Aenean aliquam mauris id massa commodo condimentum. Praesent sit amet feugiat justo, quis dictum nulla.
- Fusce gravida orci eu lorem pharetra viverra. Ut non posuere arcu, pellentesque tristique massa. Donec sit amet efficitur risus, a mattis sem. Pellentesque id fringilla lorem, non finibus velit.
- about:
- name: "About us page"
- channels:
- - "FASHION_WEB"
- collections:
- - "general"
- - "store"
- translations:
- en_US:
- slug: "about"
- meta_title: "About us"
- meta_keywords: "about, us"
- meta_description: "About us page"
- template:
- options:
- custom:
- homepage:
- name: "Page template"
- type: "page"
- content_elements:
- - type: "textarea"
- - type: "multiple_media"
- about:
- name: "Block template"
- type: "block"
- content_elements:
- - type: "heading"
- - type: "textarea"
- - type: "single_media"
+ - { resource: "fixtures/*.yaml"}
diff --git a/tests/Application/templates/bundles/SyliusCmsPlugin/Shop/ContentElement/_products_carousel.html.twig b/tests/Application/templates/bundles/SyliusCmsPlugin/Shop/ContentElement/_products_carousel.html.twig
new file mode 100644
index 000000000..d4c807b86
--- /dev/null
+++ b/tests/Application/templates/bundles/SyliusCmsPlugin/Shop/ContentElement/_products_carousel.html.twig
@@ -0,0 +1,33 @@
+{% set tag = random(0, 1000) %}
+
+
+
+ {% for product in products %}
+
+ {% include '@SyliusShop/Product/_box.html.twig' %}
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+
diff --git a/tests/Application/templates/bundles/SyliusCmsPlugin/Shop/ContentElement/_products_grid.html.twig b/tests/Application/templates/bundles/SyliusCmsPlugin/Shop/ContentElement/_products_grid.html.twig
new file mode 100644
index 000000000..c243f99e1
--- /dev/null
+++ b/tests/Application/templates/bundles/SyliusCmsPlugin/Shop/ContentElement/_products_grid.html.twig
@@ -0,0 +1,7 @@
+
+
+ {% for product in products %}
+ {% include '@SyliusShop/Product/_box.html.twig' %}
+ {% endfor %}
+
+
diff --git a/tests/Application/templates/bundles/SyliusCmsPlugin/Shop/ContentElement/_single_media.html.twig b/tests/Application/templates/bundles/SyliusCmsPlugin/Shop/ContentElement/_single_media.html.twig
new file mode 100644
index 000000000..8b1834993
--- /dev/null
+++ b/tests/Application/templates/bundles/SyliusCmsPlugin/Shop/ContentElement/_single_media.html.twig
@@ -0,0 +1,5 @@
+
+
+ {{ media.renderedContent }}
+
+
diff --git a/tests/Application/templates/bundles/SyliusShopBundle/Homepage/index.html.twig b/tests/Application/templates/bundles/SyliusShopBundle/Homepage/index.html.twig
index 1370494a8..1c108fef3 100755
--- a/tests/Application/templates/bundles/SyliusShopBundle/Homepage/index.html.twig
+++ b/tests/Application/templates/bundles/SyliusShopBundle/Homepage/index.html.twig
@@ -2,14 +2,14 @@
{% block content %}
-
- {{ sylius_cms_render_media('specified_products_banner') }}
-
{{ sylius_cms_render_block('homepage_textarea') }}
+ {{ sylius_cms_render_block('homepage_banner_1') }}
{{ sylius_cms_render_block('homepage_products_carousel') }}
- {{ sylius_cms_render_block('homepage_products_grid') }}
{{ sylius_cms_render_block('homepage_taxons_list') }}
+ {{ sylius_cms_render_block('homepage_products_grid') }}
+ {{ sylius_cms_render_block('homepage_banner_2') }}
{{ sylius_cms_render_block('homepage_products_carousel_by_taxon') }}
+ {{ sylius_cms_render_block('homepage_banner_3') }}
{{ sylius_cms_render_block('homepage_products_grid_by_taxon') }}
{% endblock %}
diff --git a/tests/Application/templates/bundles/SyliusShopBundle/Product/show.html.twig b/tests/Application/templates/bundles/SyliusShopBundle/Product/show.html.twig
index 0bb5b1efd..278665a75 100755
--- a/tests/Application/templates/bundles/SyliusShopBundle/Product/show.html.twig
+++ b/tests/Application/templates/bundles/SyliusShopBundle/Product/show.html.twig
@@ -4,7 +4,7 @@
{% include '@SyliusShop/Product/Show/_breadcrumb.html.twig' %}
- {{ sylius_cms_render_block('specified_products_banner', null, product) }}
+ {{ sylius_cms_render_block('black_friday_banner_product', null, product) }}
@@ -58,7 +58,5 @@
{{ sonata_block_render_event('sylius.shop.product.show.before_associations', {'product': product}) }}
- {% include '@SyliusShop/Product/Show/_associations.html.twig' %}
-
{{ sylius_cms_render_block('specified_products_in_taxons', null, product) }}
{% endblock %}
diff --git a/tests/Application/templates/bundles/SyliusShopBundle/Taxon/Header/_content.html.twig b/tests/Application/templates/bundles/SyliusShopBundle/Taxon/Header/_content.html.twig
index fde0b25b9..59c45e4d6 100644
--- a/tests/Application/templates/bundles/SyliusShopBundle/Taxon/Header/_content.html.twig
+++ b/tests/Application/templates/bundles/SyliusShopBundle/Taxon/Header/_content.html.twig
@@ -3,4 +3,4 @@
-{{ sylius_cms_render_block('taxon_t_shirts_banner', null, taxon) }}
+{{ sylius_cms_render_block('black_friday_banner_taxon', null, taxon) }}