From 615f7e8c5a1ba3e9b74956c6284fc7e8149f9e1e Mon Sep 17 00:00:00 2001 From: Hubert Filar Date: Mon, 17 Feb 2025 13:10:22 +0100 Subject: [PATCH 01/13] OP-551: Render wishlist index using twig hooks --- .../views/WishlistDetails/_item.html.twig | 9 +- .../WishlistDetails/_variantPrice.html.twig | 6 +- .../views/WishlistDetails/index.html.twig | 91 +------------------ .../WishlistDetails/index/content.html.twig | 6 ++ .../index/content/body.html.twig | 85 +++++++++++++++++ .../index/content/header.html.twig | 8 ++ .../config/packages/twig_hooks.yaml | 13 +++ 7 files changed, 123 insertions(+), 95 deletions(-) create mode 100644 src/Resources/views/WishlistDetails/index/content.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/body.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/header.html.twig diff --git a/src/Resources/views/WishlistDetails/_item.html.twig b/src/Resources/views/WishlistDetails/_item.html.twig index 48ecb5c7..c4d351f2 100644 --- a/src/Resources/views/WishlistDetails/_item.html.twig +++ b/src/Resources/views/WishlistDetails/_item.html.twig @@ -12,7 +12,11 @@
- {% include '@SyliusShop/Product/_mainImage.html.twig' %} + {{ component('sylius_shop:main_image', { + product: variant.hasImages ? variant : product, + class: "w-100 h-100 object-fit-cover", + filter: 'sylius_shop_product_small_thumbnail' + }) }}
@@ -53,7 +57,4 @@
{% include '@BitBagSyliusWishlistPlugin/Common/_removeFromWishlist.html.twig' %}
- - {{ sonata_block_render_event('sylius.shop.product.index.after_box', {'product': product}) }} -
diff --git a/src/Resources/views/WishlistDetails/_variantPrice.html.twig b/src/Resources/views/WishlistDetails/_variantPrice.html.twig index 6a487e37..4c665814 100644 --- a/src/Resources/views/WishlistDetails/_variantPrice.html.twig +++ b/src/Resources/views/WishlistDetails/_variantPrice.html.twig @@ -1,10 +1,10 @@ {% import "@SyliusCore/Common/Macro/money.html.twig" as money %} -{% set pricing = sylius_product_variant_prices(product, sylius.channel) %} +{% set pricings = sylius_product_variants_map(product, []) %} {% set prices %} [ - {%- for price in pricing -%} + {%- for price in pricings -%} { {%- for option, value in price -%} "{{- option -}}": @@ -24,5 +24,5 @@ {% endset %} - {{ money.calculatePrice(variant) }} +{# {{ money.calculatePrice(variant) }}#} diff --git a/src/Resources/views/WishlistDetails/index.html.twig b/src/Resources/views/WishlistDetails/index.html.twig index 80ee0700..0b99a53c 100644 --- a/src/Resources/views/WishlistDetails/index.html.twig +++ b/src/Resources/views/WishlistDetails/index.html.twig @@ -2,95 +2,10 @@ {% import '@SyliusShop/shared/messages.html.twig' as messages %} +{% set prefixes = ['bitbag_sylius_wishlist_plugin.wishlist'] %} + {% block title %}{{ 'bitbag_sylius_wishlist_plugin.ui.your_wishlist'|trans }} | {{ parent() }}{% endblock %} {% block content %} -

- -
- {{ wishlist.name }} -
-

- {% if sylius.channel is not null %} - {% set wishlists = findAllByAnonymousAndChannel(sylius.channel) %} - {% else %} - {% set wishlists = findAllByAnonymous() %} - {% endif %} - {% if wishlists|length > 1 %} - {% else %} -
- - -
- {% endif %} - - - {% if wishlist.wishlistProducts.count > 0 %} -
- - {{ 'bitbag_sylius_wishlist_plugin.ui.clear_wishlist'|trans }} - -
- - - - {{ form_start(form, { attr: { class: 'bb-wishlist ui form', id: "wishlist_form" } }) }} - -
- -
-
- -
-
- {{ 'sylius.ui.item'|trans }} -
-
- {{ 'sylius.ui.unit_price'|trans }} -
-
- {{ 'sylius.ui.qty'|trans }} -
-
- {{ 'sylius.ui.actions'|trans }} -
-
- - {% for itemForm in form.items %} - {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/_item.html.twig" %} - - {% endfor %} - -
- {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/_collectiveActions.html.twig" %} - {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/_globalActions.html.twig" %} -
- -
- - {{ form_row(form._token) }} - {{ form_end(form, {'render_rest': false} ) }} - {% else %} -
-
- {{ messages.info('bitbag_sylius_wishlist_plugin.ui.your_wishlist_is_empty'|trans) }} -
- - - -
- {% endif %} - + {% hook 'index' with { _prefixes: prefixes, wishlist, form } %} {% endblock %} diff --git a/src/Resources/views/WishlistDetails/index/content.html.twig b/src/Resources/views/WishlistDetails/index/content.html.twig new file mode 100644 index 00000000..9203aaff --- /dev/null +++ b/src/Resources/views/WishlistDetails/index/content.html.twig @@ -0,0 +1,6 @@ +{% set wishlist = hookable_metadata.context.wishlist %} +{% set form = hookable_metadata.context.form %} + +
+ {% hook 'content' with { wishlist, form } %} +
diff --git a/src/Resources/views/WishlistDetails/index/content/body.html.twig b/src/Resources/views/WishlistDetails/index/content/body.html.twig new file mode 100644 index 00000000..dd2f8afc --- /dev/null +++ b/src/Resources/views/WishlistDetails/index/content/body.html.twig @@ -0,0 +1,85 @@ +{% set wishlist = hookable_metadata.context.wishlist %} +{% set form = hookable_metadata.context.form %} + +{% if sylius.channel is not null %} + {% set wishlists = findAllByAnonymousAndChannel(sylius.channel) %} +{% else %} + {% set wishlists = findAllByAnonymous() %} +{% endif %} + +{% if wishlists|length > 1 %} +{% else %} +
+ + +
+{% endif %} + + +{% if wishlist.wishlistProducts.count > 0 %} +
+ + {{ 'bitbag_sylius_wishlist_plugin.ui.clear_wishlist'|trans }} + +
+ + + + {{ form_start(form, { attr: { class: 'bb-wishlist ui form', id: "wishlist_form" } }) }} + +
+ +
+
+ +
+
+ {{ 'sylius.ui.item'|trans }} +
+
+ {{ 'sylius.ui.unit_price'|trans }} +
+
+ {{ 'sylius.ui.qty'|trans }} +
+
+ {{ 'sylius.ui.actions'|trans }} +
+
+ + {% for itemForm in form.items %} + {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/_item.html.twig" %} + + {% endfor %} + +
+ {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/_collectiveActions.html.twig" %} + {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/_globalActions.html.twig" %} +
+ +
+ + {{ form_row(form._token) }} + {{ form_end(form, {'render_rest': false} ) }} +{% else %} +
+
+ {{ messages.info('bitbag_sylius_wishlist_plugin.ui.your_wishlist_is_empty'|trans) }} +
+ + + +
+{% endif %} diff --git a/src/Resources/views/WishlistDetails/index/content/header.html.twig b/src/Resources/views/WishlistDetails/index/content/header.html.twig new file mode 100644 index 00000000..cd551df4 --- /dev/null +++ b/src/Resources/views/WishlistDetails/index/content/header.html.twig @@ -0,0 +1,8 @@ +{% set wishlist = hookable_metadata.context.wishlist %} + +

+ +
+ {{ wishlist.name }} +
+

diff --git a/tests/Application/config/packages/twig_hooks.yaml b/tests/Application/config/packages/twig_hooks.yaml index 5e6dd99c..84e3d11f 100644 --- a/tests/Application/config/packages/twig_hooks.yaml +++ b/tests/Application/config/packages/twig_hooks.yaml @@ -16,6 +16,19 @@ sylius_twig_hooks: app_javascripts: template: "shop/javascripts.html.twig" + 'bitbag_sylius_wishlist_plugin.wishlist.index': + content: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content.html.twig" + priority: 0 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content': + header: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/header.html.twig" + priority: 100 + body: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/body.html.twig" + priority: 90 + 'sylius_shop.base.header.content': wishlist_header: template: "@BitBagSyliusWishlistPlugin/_wishlist_header.html.twig" From 17ae3ccb81b6b4ae9a8daade515c8be472860094 Mon Sep 17 00:00:00 2001 From: Hubert Filar Date: Mon, 17 Feb 2025 13:31:19 +0100 Subject: [PATCH 02/13] OP-551: Render form with hooks --- .../index/content/body.html.twig | 37 +----------------- .../body}/_collectiveActions.html.twig | 0 .../content/body}/_globalActions.html.twig | 0 .../{ => index/content/body}/_item.html.twig | 2 +- .../content/body}/_variantPrice.html.twig | 0 .../index/content/body/form.html.twig | 39 +++++++++++++++++++ .../config/packages/twig_hooks.yaml | 5 +++ 7 files changed, 46 insertions(+), 37 deletions(-) rename src/Resources/views/WishlistDetails/{ => index/content/body}/_collectiveActions.html.twig (100%) rename src/Resources/views/WishlistDetails/{ => index/content/body}/_globalActions.html.twig (100%) rename src/Resources/views/WishlistDetails/{ => index/content/body}/_item.html.twig (97%) rename src/Resources/views/WishlistDetails/{ => index/content/body}/_variantPrice.html.twig (100%) create mode 100644 src/Resources/views/WishlistDetails/index/content/body/form.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/body.html.twig b/src/Resources/views/WishlistDetails/index/content/body.html.twig index dd2f8afc..0c06cf23 100644 --- a/src/Resources/views/WishlistDetails/index/content/body.html.twig +++ b/src/Resources/views/WishlistDetails/index/content/body.html.twig @@ -34,42 +34,7 @@ - {{ form_start(form, { attr: { class: 'bb-wishlist ui form', id: "wishlist_form" } }) }} - -
- -
-
- -
-
- {{ 'sylius.ui.item'|trans }} -
-
- {{ 'sylius.ui.unit_price'|trans }} -
-
- {{ 'sylius.ui.qty'|trans }} -
-
- {{ 'sylius.ui.actions'|trans }} -
-
- - {% for itemForm in form.items %} - {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/_item.html.twig" %} - - {% endfor %} - -
- {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/_collectiveActions.html.twig" %} - {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/_globalActions.html.twig" %} -
- -
- - {{ form_row(form._token) }} - {{ form_end(form, {'render_rest': false} ) }} + {% hook 'form' with { wishlist, form } %} {% else %}
diff --git a/src/Resources/views/WishlistDetails/_collectiveActions.html.twig b/src/Resources/views/WishlistDetails/index/content/body/_collectiveActions.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/_collectiveActions.html.twig rename to src/Resources/views/WishlistDetails/index/content/body/_collectiveActions.html.twig diff --git a/src/Resources/views/WishlistDetails/_globalActions.html.twig b/src/Resources/views/WishlistDetails/index/content/body/_globalActions.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/_globalActions.html.twig rename to src/Resources/views/WishlistDetails/index/content/body/_globalActions.html.twig diff --git a/src/Resources/views/WishlistDetails/_item.html.twig b/src/Resources/views/WishlistDetails/index/content/body/_item.html.twig similarity index 97% rename from src/Resources/views/WishlistDetails/_item.html.twig rename to src/Resources/views/WishlistDetails/index/content/body/_item.html.twig index c4d351f2..f9fd189e 100644 --- a/src/Resources/views/WishlistDetails/_item.html.twig +++ b/src/Resources/views/WishlistDetails/index/content/body/_item.html.twig @@ -40,7 +40,7 @@
{% if not product.variants.empty() %} - {% include '@BitBagSyliusWishlistPlugin/WishlistDetails/_variantPrice.html.twig' %} + {% include '@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/body/_variantPrice.html.twig' %} {% endif %}
diff --git a/src/Resources/views/WishlistDetails/_variantPrice.html.twig b/src/Resources/views/WishlistDetails/index/content/body/_variantPrice.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/_variantPrice.html.twig rename to src/Resources/views/WishlistDetails/index/content/body/_variantPrice.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/body/form.html.twig b/src/Resources/views/WishlistDetails/index/content/body/form.html.twig new file mode 100644 index 00000000..da108f3c --- /dev/null +++ b/src/Resources/views/WishlistDetails/index/content/body/form.html.twig @@ -0,0 +1,39 @@ +{% set wishlist = hookable_metadata.context.wishlist %} +{% set form = hookable_metadata.context.form %} + +{{ form_start(form, { attr: { class: 'bb-wishlist ui form', id: "wishlist_form" } }) }} + +
+ +
+
+ +
+
+ {{ 'sylius.ui.item'|trans }} +
+
+ {{ 'sylius.ui.unit_price'|trans }} +
+
+ {{ 'sylius.ui.qty'|trans }} +
+
+ {{ 'sylius.ui.actions'|trans }} +
+
+ + {% for itemForm in form.items %} + {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/body/_item.html.twig" %} + + {% endfor %} + +
+ {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/body/_collectiveActions.html.twig" %} + {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/body/_globalActions.html.twig" %} +
+ +
+ +{{ form_row(form._token) }} +{{ form_end(form, {'render_rest': false} ) }} diff --git a/tests/Application/config/packages/twig_hooks.yaml b/tests/Application/config/packages/twig_hooks.yaml index 84e3d11f..1ec7c83a 100644 --- a/tests/Application/config/packages/twig_hooks.yaml +++ b/tests/Application/config/packages/twig_hooks.yaml @@ -29,6 +29,11 @@ sylius_twig_hooks: template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/body.html.twig" priority: 90 + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form': + form: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/body/form.html.twig" + priority: 0 + 'sylius_shop.base.header.content': wishlist_header: template: "@BitBagSyliusWishlistPlugin/_wishlist_header.html.twig" From d11a0af09ce73fa9e41e57bf5c9374f7a7aa2730 Mon Sep 17 00:00:00 2001 From: Hubert Filar Date: Mon, 17 Feb 2025 14:40:50 +0100 Subject: [PATCH 03/13] OP-551: Adjust form styles --- src/Form/Type/AddProductsToCartType.php | 1 + .../assets/shop/scss/pages/wishlist-details/_item.scss | 6 ------ src/Resources/views/Common/_removeFromWishlist.html.twig | 4 ++-- .../views/WishlistDetails/index/content/body/form.html.twig | 4 +++- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/Form/Type/AddProductsToCartType.php b/src/Form/Type/AddProductsToCartType.php index 6069add6..d5477a7b 100644 --- a/src/Form/Type/AddProductsToCartType.php +++ b/src/Form/Type/AddProductsToCartType.php @@ -54,6 +54,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void ]) ->add('selected', CheckboxType::class, [ 'required' => false, + 'label' => false, ]); }); } diff --git a/src/Resources/assets/shop/scss/pages/wishlist-details/_item.scss b/src/Resources/assets/shop/scss/pages/wishlist-details/_item.scss index f3efdca2..1c5d8d09 100644 --- a/src/Resources/assets/shop/scss/pages/wishlist-details/_item.scss +++ b/src/Resources/assets/shop/scss/pages/wishlist-details/_item.scss @@ -76,11 +76,5 @@ align-items: center; justify-content: center; } - - > * { - span { - color: $lightgray; - } - } } } diff --git a/src/Resources/views/Common/_removeFromWishlist.html.twig b/src/Resources/views/Common/_removeFromWishlist.html.twig index 45067ac9..8f24b6ef 100644 --- a/src/Resources/views/Common/_removeFromWishlist.html.twig +++ b/src/Resources/views/Common/_removeFromWishlist.html.twig @@ -1,9 +1,9 @@ - + {{ ux_icon('mdi:remove') }} diff --git a/src/Resources/views/WishlistDetails/index/content/body/form.html.twig b/src/Resources/views/WishlistDetails/index/content/body/form.html.twig index da108f3c..5dee383c 100644 --- a/src/Resources/views/WishlistDetails/index/content/body/form.html.twig +++ b/src/Resources/views/WishlistDetails/index/content/body/form.html.twig @@ -1,13 +1,15 @@ {% set wishlist = hookable_metadata.context.wishlist %} {% set form = hookable_metadata.context.form %} +{% form_theme form '@SyliusShop/form/theme.html.twig' %} + {{ form_start(form, { attr: { class: 'bb-wishlist ui form', id: "wishlist_form" } }) }}
- +
{{ 'sylius.ui.item'|trans }} From 745ac811f7cb4dbb74db550c9eb642dc35bd8b95 Mon Sep 17 00:00:00 2001 From: Hubert Filar Date: Mon, 17 Feb 2025 15:28:30 +0100 Subject: [PATCH 04/13] OP-551: Adjust displaying price --- .../assets/shop/js/WishlistVariantPrice.js | 1 + src/Resources/views/Common/price.html.twig | 10 +++++++ .../views/Product/Box/_content.html.twig | 2 +- .../index/content/body/_item.html.twig | 5 +++- .../content/body/_variantPrice.html.twig | 28 ------------------- src/Resources/views/_wishlist_pdf.html.twig | 4 +-- 6 files changed, 18 insertions(+), 32 deletions(-) create mode 100644 src/Resources/views/Common/price.html.twig delete mode 100644 src/Resources/views/WishlistDetails/index/content/body/_variantPrice.html.twig diff --git a/src/Resources/assets/shop/js/WishlistVariantPrice.js b/src/Resources/assets/shop/js/WishlistVariantPrice.js index 2d8aaa71..68cdcf86 100644 --- a/src/Resources/assets/shop/js/WishlistVariantPrice.js +++ b/src/Resources/assets/shop/js/WishlistVariantPrice.js @@ -1,3 +1,4 @@ +//TODO adjust this to work with the new wishlist view export class WishlistVariantPrice { constructor(node) { if (node === null || !node.nodeType) throw new Error("The first parameter must be a NodeElement"); diff --git a/src/Resources/views/Common/price.html.twig b/src/Resources/views/Common/price.html.twig new file mode 100644 index 00000000..3ea9af3b --- /dev/null +++ b/src/Resources/views/Common/price.html.twig @@ -0,0 +1,10 @@ +
+
+
{{ price }}
+ {% if has_discount %} +
+ {{ original_price }} +
+ {% endif %} +
+
diff --git a/src/Resources/views/Product/Box/_content.html.twig b/src/Resources/views/Product/Box/_content.html.twig index 04f4b3a2..e811c251 100644 --- a/src/Resources/views/Product/Box/_content.html.twig +++ b/src/Resources/views/Product/Box/_content.html.twig @@ -1,4 +1,4 @@ -{% import "@SyliusShop/Common/Macro/money.html.twig" as money %} +{% import "@SyliusCore/Common/Macro/money.html.twig" as money %} diff --git a/src/Resources/views/WishlistDetails/index/content/body/_variantPrice.html.twig b/src/Resources/views/WishlistDetails/index/content/body/_variantPrice.html.twig deleted file mode 100644 index 4c665814..00000000 --- a/src/Resources/views/WishlistDetails/index/content/body/_variantPrice.html.twig +++ /dev/null @@ -1,28 +0,0 @@ -{% import "@SyliusCore/Common/Macro/money.html.twig" as money %} - -{% set pricings = sylius_product_variants_map(product, []) %} - -{% set prices %} - [ - {%- for price in pricings -%} - { - {%- for option, value in price -%} - "{{- option -}}": - {%- if option == 'value' or option == 'original-price' -%} - "{{ money.convertAndFormat(value) -}}" - {%- elseif not value is iterable -%} - "{{ value|replace({'\"': '\''}) -}}" - {%- else -%} - "" - {%- endif -%} - {{- not loop.last ? ', '-}} - {%- endfor -%} - } - {{- not loop.last ? ', '-}} - {%- endfor -%} - ] -{% endset %} - - -{# {{ money.calculatePrice(variant) }}#} - diff --git a/src/Resources/views/_wishlist_pdf.html.twig b/src/Resources/views/_wishlist_pdf.html.twig index 48586e2c..5a60b200 100644 --- a/src/Resources/views/_wishlist_pdf.html.twig +++ b/src/Resources/views/_wishlist_pdf.html.twig @@ -1,4 +1,4 @@ -{% import "@SyliusShop/Common/Macro/money.html.twig" as money %} +{% import "@SyliusCore/Common/Macro/money.html.twig" as money %} @@ -41,4 +41,4 @@ - \ No newline at end of file + From e14c1d943e076207684f0ab099311fbb5c35580c Mon Sep 17 00:00:00 2001 From: Hubert Filar Date: Mon, 17 Feb 2025 15:30:19 +0100 Subject: [PATCH 05/13] OP-551: Fix flashes --- src/Resources/views/WishlistDetails/index.html.twig | 2 -- .../views/WishlistDetails/index/content/body.html.twig | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Resources/views/WishlistDetails/index.html.twig b/src/Resources/views/WishlistDetails/index.html.twig index 0b99a53c..9ff041c2 100644 --- a/src/Resources/views/WishlistDetails/index.html.twig +++ b/src/Resources/views/WishlistDetails/index.html.twig @@ -1,7 +1,5 @@ {% extends '@SyliusShop/shared/layout/base.html.twig' %} -{% import '@SyliusShop/shared/messages.html.twig' as messages %} - {% set prefixes = ['bitbag_sylius_wishlist_plugin.wishlist'] %} {% block title %}{{ 'bitbag_sylius_wishlist_plugin.ui.your_wishlist'|trans }} | {{ parent() }}{% endblock %} diff --git a/src/Resources/views/WishlistDetails/index/content/body.html.twig b/src/Resources/views/WishlistDetails/index/content/body.html.twig index 0c06cf23..012433c9 100644 --- a/src/Resources/views/WishlistDetails/index/content/body.html.twig +++ b/src/Resources/views/WishlistDetails/index/content/body.html.twig @@ -1,3 +1,5 @@ +{% import '@SyliusShop/shared/messages.html.twig' as messages %} + {% set wishlist = hookable_metadata.context.wishlist %} {% set form = hookable_metadata.context.form %} From 8e19d987d7c2b8e63c0f5665021457327ca3a817 Mon Sep 17 00:00:00 2001 From: Hubert Filar Date: Mon, 17 Feb 2025 16:26:37 +0100 Subject: [PATCH 06/13] OP-551: Fix macro import --- src/Resources/views/Common/price.html.twig | 10 ---------- src/Resources/views/Product/Box/_content.html.twig | 2 +- .../WishlistDetails/index/content/body/_item.html.twig | 9 ++++----- src/Resources/views/_wishlist_pdf.html.twig | 2 +- 4 files changed, 6 insertions(+), 17 deletions(-) delete mode 100644 src/Resources/views/Common/price.html.twig diff --git a/src/Resources/views/Common/price.html.twig b/src/Resources/views/Common/price.html.twig deleted file mode 100644 index 3ea9af3b..00000000 --- a/src/Resources/views/Common/price.html.twig +++ /dev/null @@ -1,10 +0,0 @@ -
-
-
{{ price }}
- {% if has_discount %} -
- {{ original_price }} -
- {% endif %} -
-
diff --git a/src/Resources/views/Product/Box/_content.html.twig b/src/Resources/views/Product/Box/_content.html.twig index e811c251..a5508884 100644 --- a/src/Resources/views/Product/Box/_content.html.twig +++ b/src/Resources/views/Product/Box/_content.html.twig @@ -1,4 +1,4 @@ -{% import "@SyliusCore/Common/Macro/money.html.twig" as money %} +{% import "@SyliusShop/shared/macro/money.html.twig" as money %}
diff --git a/src/Resources/views/_wishlist_pdf.html.twig b/src/Resources/views/_wishlist_pdf.html.twig index 5a60b200..80c257a1 100644 --- a/src/Resources/views/_wishlist_pdf.html.twig +++ b/src/Resources/views/_wishlist_pdf.html.twig @@ -1,4 +1,4 @@ -{% import "@SyliusCore/Common/Macro/money.html.twig" as money %} +{% import "@SyliusShop/shared/macro/money.html.twig" as money %} From 1664db38a89a598d7a7247a7998a9f5417eff81b Mon Sep 17 00:00:00 2001 From: Hubert Filar Date: Mon, 17 Feb 2025 18:10:23 +0100 Subject: [PATCH 07/13] OP-551: Add hookable templates --- .../Common/_removeFromWishlist.html.twig | 9 --- .../index/content/body/_item.html.twig | 62 ---------------- .../index/content/body/form.html.twig | 41 ----------- .../{body.html.twig => form.html.twig} | 24 ------- .../index/content/form/sections.html.twig | 15 ++++ .../content/form/sections/actions.html.twig | 6 ++ .../actions/collectiveActions.html.twig} | 12 ++-- .../sections/actions/globalActions.html.twig} | 3 + .../content/form/sections/items.html.twig | 4 ++ .../form/sections/items/body.html.twig | 13 ++++ .../sections/items/body/checkbox.html.twig | 6 ++ .../form/sections/items/body/image.html.twig | 10 +++ .../form/sections/items/body/name.html.twig | 8 +++ .../form/sections/items/body/price.html.twig | 12 ++++ .../sections/items/body/quantity.html.twig | 12 ++++ .../form/sections/items/body/remove.html.twig | 15 ++++ .../sections/items/body/variant.html.twig | 14 ++++ .../form/sections/items/head.html.twig | 3 + .../sections/items/head/actions.html.twig | 3 + .../form/sections/items/head/image.html.twig | 3 + .../form/sections/items/head/price.html.twig | 3 + .../sections/items/head/quantity.html.twig | 3 + .../sections/items/head/selectAll.html.twig | 3 + .../index/content/header.html.twig | 23 ++++++ .../config/packages/twig_hooks.yaml | 70 ++++++++++++++++++- 25 files changed, 233 insertions(+), 144 deletions(-) delete mode 100644 src/Resources/views/Common/_removeFromWishlist.html.twig delete mode 100644 src/Resources/views/WishlistDetails/index/content/body/_item.html.twig delete mode 100644 src/Resources/views/WishlistDetails/index/content/body/form.html.twig rename src/Resources/views/WishlistDetails/index/content/{body.html.twig => form.html.twig} (50%) create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/actions.html.twig rename src/Resources/views/WishlistDetails/index/content/{body/_collectiveActions.html.twig => form/sections/actions/collectiveActions.html.twig} (83%) rename src/Resources/views/WishlistDetails/index/content/{body/_globalActions.html.twig => form/sections/actions/globalActions.html.twig} (88%) create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/body.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/body/checkbox.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/body/image.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/body/name.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/body/price.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/body/quantity.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/body/remove.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/body/variant.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/head.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/head/actions.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/head/image.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/head/price.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/head/quantity.html.twig create mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/head/selectAll.html.twig diff --git a/src/Resources/views/Common/_removeFromWishlist.html.twig b/src/Resources/views/Common/_removeFromWishlist.html.twig deleted file mode 100644 index 8f24b6ef..00000000 --- a/src/Resources/views/Common/_removeFromWishlist.html.twig +++ /dev/null @@ -1,9 +0,0 @@ - - {{ ux_icon('mdi:remove') }} - diff --git a/src/Resources/views/WishlistDetails/index/content/body/_item.html.twig b/src/Resources/views/WishlistDetails/index/content/body/_item.html.twig deleted file mode 100644 index ddfe02a3..00000000 --- a/src/Resources/views/WishlistDetails/index/content/body/_item.html.twig +++ /dev/null @@ -1,62 +0,0 @@ -{% import "@SyliusShop/shared/macro/money.html.twig" as money %} - -{% set variant = itemForm.vars.value.wishlistProduct.variant %} -{% set product = variant.product %} -{% set productUrl = path('sylius_shop_product_show', { slug: product.slug, _locale: product.translation.locale }) %} -{% set itemId = "wishlist_item_#{ variant.id }_#{ product.id }" %} - -
- -
- {{ form_widget(itemForm.selected, { id: product.name }) }} -
- -
- {{ component('sylius_shop:main_image', { - product: variant.hasImages ? variant : product, - class: "w-100 h-100 object-fit-cover", - filter: 'sylius_shop_product_small_thumbnail' - }) }} -
- - - -
- {% if itemForm.cartItem.cartItem.variant is defined %} -
- {% for child in itemForm.cartItem.cartItem.variant.children %} -
- {{ form_label(child, null, { label_attr: { class: 'bb-wishlist-variant-label'} } ) }} - {{ form_widget(child, { attr: { class: 'bb-wishlist-variant-select', 'data-name': child.vars.name } } ) }} -
- {% endfor %} -
- {% endif %} -
- -
- {% if not product.variants.empty() %} - - {{ money.calculatePrice(variant) }} - - {% endif %} -
- -
- {{ form_widget(itemForm.cartItem.cartItem.quantity, { - 'attr': { - 'min': 0, - 'data-product-name': product.name, - 'value': itemForm.cartItem.cartItem.quantity.vars.value is same as("0") ? 1 : itemForm.cartItem.cartItem.quantity.vars.value - } - }) }} -
- -
- {% include '@BitBagSyliusWishlistPlugin/Common/_removeFromWishlist.html.twig' %} -
-
diff --git a/src/Resources/views/WishlistDetails/index/content/body/form.html.twig b/src/Resources/views/WishlistDetails/index/content/body/form.html.twig deleted file mode 100644 index 5dee383c..00000000 --- a/src/Resources/views/WishlistDetails/index/content/body/form.html.twig +++ /dev/null @@ -1,41 +0,0 @@ -{% set wishlist = hookable_metadata.context.wishlist %} -{% set form = hookable_metadata.context.form %} - -{% form_theme form '@SyliusShop/form/theme.html.twig' %} - -{{ form_start(form, { attr: { class: 'bb-wishlist ui form', id: "wishlist_form" } }) }} - -
- -
-
- -
-
- {{ 'sylius.ui.item'|trans }} -
-
- {{ 'sylius.ui.unit_price'|trans }} -
-
- {{ 'sylius.ui.qty'|trans }} -
-
- {{ 'sylius.ui.actions'|trans }} -
-
- - {% for itemForm in form.items %} - {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/body/_item.html.twig" %} - - {% endfor %} - -
- {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/body/_collectiveActions.html.twig" %} - {% include "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/body/_globalActions.html.twig" %} -
- -
- -{{ form_row(form._token) }} -{{ form_end(form, {'render_rest': false} ) }} diff --git a/src/Resources/views/WishlistDetails/index/content/body.html.twig b/src/Resources/views/WishlistDetails/index/content/form.html.twig similarity index 50% rename from src/Resources/views/WishlistDetails/index/content/body.html.twig rename to src/Resources/views/WishlistDetails/index/content/form.html.twig index 012433c9..36fe5c6a 100644 --- a/src/Resources/views/WishlistDetails/index/content/body.html.twig +++ b/src/Resources/views/WishlistDetails/index/content/form.html.twig @@ -3,30 +3,6 @@ {% set wishlist = hookable_metadata.context.wishlist %} {% set form = hookable_metadata.context.form %} -{% if sylius.channel is not null %} - {% set wishlists = findAllByAnonymousAndChannel(sylius.channel) %} -{% else %} - {% set wishlists = findAllByAnonymous() %} -{% endif %} - -{% if wishlists|length > 1 %} -{% else %} -
- - -
-{% endif %} - - {% if wishlist.wishlistProducts.count > 0 %}
diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections.html.twig b/src/Resources/views/WishlistDetails/index/content/form/sections.html.twig new file mode 100644 index 00000000..fdccdb3c --- /dev/null +++ b/src/Resources/views/WishlistDetails/index/content/form/sections.html.twig @@ -0,0 +1,15 @@ +{% set wishlist = hookable_metadata.context.wishlist %} +{% set form = hookable_metadata.context.form %} + +{% form_theme form '@SyliusShop/form/theme.html.twig' %} + +{{ form_start(form, { attr: { class: 'bb-wishlist ui form', id: "wishlist_form" } }) }} + +
+ {% hook 'sections' with { form, wishlist } %} + + +
+ +{{ form_row(form._token) }} +{{ form_end(form, {'render_rest': false} ) }} diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/actions.html.twig b/src/Resources/views/WishlistDetails/index/content/form/sections/actions.html.twig new file mode 100644 index 00000000..b753d8db --- /dev/null +++ b/src/Resources/views/WishlistDetails/index/content/form/sections/actions.html.twig @@ -0,0 +1,6 @@ +{% set wishlist = hookable_metadata.context.wishlist %} +{% set form = hookable_metadata.context.form %} + +
+ {% hook 'actions' with { form, wishlist } %} +
diff --git a/src/Resources/views/WishlistDetails/index/content/body/_collectiveActions.html.twig b/src/Resources/views/WishlistDetails/index/content/form/sections/actions/collectiveActions.html.twig similarity index 83% rename from src/Resources/views/WishlistDetails/index/content/body/_collectiveActions.html.twig rename to src/Resources/views/WishlistDetails/index/content/form/sections/actions/collectiveActions.html.twig index 09b97633..093edfc6 100644 --- a/src/Resources/views/WishlistDetails/index/content/body/_collectiveActions.html.twig +++ b/src/Resources/views/WishlistDetails/index/content/form/sections/actions/collectiveActions.html.twig @@ -1,3 +1,5 @@ +{% set wishlist = hookable_metadata.context.wishlist %} + {% if app.user %} {% set wishlists = findAllByShopUserAndToken(app.user) %} {% else %} @@ -22,11 +24,11 @@ {% if wishlists|length > 1 %}
+ +{% if wishlists|length > 1 %} +{% else %} +
+ + +
+{% endif %} + diff --git a/tests/Application/config/packages/twig_hooks.yaml b/tests/Application/config/packages/twig_hooks.yaml index 1ec7c83a..360af957 100644 --- a/tests/Application/config/packages/twig_hooks.yaml +++ b/tests/Application/config/packages/twig_hooks.yaml @@ -25,15 +25,79 @@ sylius_twig_hooks: header: template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/header.html.twig" priority: 100 - body: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/body.html.twig" + form: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form.html.twig" priority: 90 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form': form: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/body/form.html.twig" + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections.html.twig" priority: 0 + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections': + items: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items.html.twig" + priority: 100 + actions: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/actions.html.twig" + priority: 90 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.actions': + collective_actions: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/actions/collectiveActions.html.twig" + priority: 100 + global_actions: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/actions/globalActions.html.twig" + priority: 90 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.items': + head: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head.html.twig" + priority: 100 + body: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body.html.twig" + priority: 90 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.items.head': + select_all: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/selectAll.html.twig" + priority: 100 + image: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/image.html.twig" + priority: 90 + price: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/price.html.twig" + priority: 80 + quantity: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/quantity.html.twig" + priority: 70 + actions: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/actions.html.twig" + priority: 60 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.items.body': + checkbox: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/checkbox.html.twig" + priority: 100 + image: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/image.html.twig" + priority: 90 + name: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/name.html.twig" + priority: 80 + variant: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/variant.html.twig" + priority: 80 + price: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/price.html.twig" + priority: 70 + quantity: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/quantity.html.twig" + priority: 60 + remove: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/remove.html.twig" + priority: 50 + 'sylius_shop.base.header.content': wishlist_header: template: "@BitBagSyliusWishlistPlugin/_wishlist_header.html.twig" From f287214a7ae1cd215e10d825973b30a4a29ccac7 Mon Sep 17 00:00:00 2001 From: Hubert Filar Date: Tue, 18 Feb 2025 13:22:29 +0100 Subject: [PATCH 08/13] OP-551: Move hooks setup to main app config --- src/Resources/config/config.yml | 1 + .../twig_hooks/shop/wishlist/index.yaml | 83 ++++++++++++++++ .../twig_hooks/shop/wishlist/layout.yaml | 13 +++ .../config/packages/twig_hooks.yaml | 94 ------------------- 4 files changed, 97 insertions(+), 94 deletions(-) create mode 100644 src/Resources/config/twig_hooks/shop/wishlist/index.yaml create mode 100644 src/Resources/config/twig_hooks/shop/wishlist/layout.yaml diff --git a/src/Resources/config/config.yml b/src/Resources/config/config.yml index 53ed0724..6b5ad204 100644 --- a/src/Resources/config/config.yml +++ b/src/Resources/config/config.yml @@ -1,2 +1,3 @@ imports: - { resource: "@BitBagSyliusWishlistPlugin/Resources/config/services.xml" } + - { resource: "@BitBagSyliusWishlistPlugin/Resources/config/twig_hooks/**/*.yaml" } diff --git a/src/Resources/config/twig_hooks/shop/wishlist/index.yaml b/src/Resources/config/twig_hooks/shop/wishlist/index.yaml new file mode 100644 index 00000000..37a3fc8c --- /dev/null +++ b/src/Resources/config/twig_hooks/shop/wishlist/index.yaml @@ -0,0 +1,83 @@ +sylius_twig_hooks: + hooks: + 'bitbag_sylius_wishlist_plugin.wishlist.index': + content: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content.html.twig" + priority: 0 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content': + header: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/header.html.twig" + priority: 100 + form: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form.html.twig" + priority: 90 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form': + form: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections.html.twig" + priority: 0 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections': + items: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items.html.twig" + priority: 100 + actions: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/actions.html.twig" + priority: 90 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.actions': + collective_actions: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/actions/collectiveActions.html.twig" + priority: 100 + global_actions: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/actions/globalActions.html.twig" + priority: 90 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.items': + head: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head.html.twig" + priority: 100 + body: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body.html.twig" + priority: 90 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.items.head': + select_all: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/selectAll.html.twig" + priority: 100 + image: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/image.html.twig" + priority: 90 + price: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/price.html.twig" + priority: 80 + quantity: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/quantity.html.twig" + priority: 70 + actions: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/actions.html.twig" + priority: 60 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.items.body': + checkbox: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/checkbox.html.twig" + priority: 100 + image: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/image.html.twig" + priority: 90 + name: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/name.html.twig" + priority: 80 + variant: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/variant.html.twig" + priority: 80 + price: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/price.html.twig" + priority: 70 + quantity: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/quantity.html.twig" + priority: 60 + remove: + template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/remove.html.twig" + priority: 50 diff --git a/src/Resources/config/twig_hooks/shop/wishlist/layout.yaml b/src/Resources/config/twig_hooks/shop/wishlist/layout.yaml new file mode 100644 index 00000000..424fceef --- /dev/null +++ b/src/Resources/config/twig_hooks/shop/wishlist/layout.yaml @@ -0,0 +1,13 @@ +sylius_twig_hooks: + hooks: + 'sylius_shop.base.header.content': + wishlist_header: + template: "@BitBagSyliusWishlistPlugin/_wishlist_header.html.twig" + priority: 150 + +# TODO find the right way to extend product box's content +#sylius.shop.product.index.box: +# blocks: +# content: +# template: "@BitBagSyliusWishlistPlugin/Product/Box/_content.html.twig" +# priority: 10 diff --git a/tests/Application/config/packages/twig_hooks.yaml b/tests/Application/config/packages/twig_hooks.yaml index 360af957..7659946e 100644 --- a/tests/Application/config/packages/twig_hooks.yaml +++ b/tests/Application/config/packages/twig_hooks.yaml @@ -15,97 +15,3 @@ sylius_twig_hooks: 'sylius_shop.base#javascripts': app_javascripts: template: "shop/javascripts.html.twig" - - 'bitbag_sylius_wishlist_plugin.wishlist.index': - content: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content.html.twig" - priority: 0 - - 'bitbag_sylius_wishlist_plugin.wishlist.index.content': - header: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/header.html.twig" - priority: 100 - form: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form.html.twig" - priority: 90 - - 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form': - form: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections.html.twig" - priority: 0 - - 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections': - items: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items.html.twig" - priority: 100 - actions: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/actions.html.twig" - priority: 90 - - 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.actions': - collective_actions: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/actions/collectiveActions.html.twig" - priority: 100 - global_actions: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/actions/globalActions.html.twig" - priority: 90 - - 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.items': - head: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head.html.twig" - priority: 100 - body: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body.html.twig" - priority: 90 - - 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.items.head': - select_all: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/selectAll.html.twig" - priority: 100 - image: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/image.html.twig" - priority: 90 - price: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/price.html.twig" - priority: 80 - quantity: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/quantity.html.twig" - priority: 70 - actions: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/actions.html.twig" - priority: 60 - - 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.items.body': - checkbox: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/checkbox.html.twig" - priority: 100 - image: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/image.html.twig" - priority: 90 - name: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/name.html.twig" - priority: 80 - variant: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/variant.html.twig" - priority: 80 - price: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/price.html.twig" - priority: 70 - quantity: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/quantity.html.twig" - priority: 60 - remove: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/remove.html.twig" - priority: 50 - - 'sylius_shop.base.header.content': - wishlist_header: - template: "@BitBagSyliusWishlistPlugin/_wishlist_header.html.twig" - priority: 150 - -# TODO find the right way to extend product box's content -#sylius.shop.product.index.box: -# blocks: -# content: -# template: "@BitBagSyliusWishlistPlugin/Product/Box/_content.html.twig" -# priority: 10 From 370d06030e8535423244a432a0a6e53571a835c4 Mon Sep 17 00:00:00 2001 From: Hubert Filar Date: Wed, 19 Feb 2025 09:36:29 +0100 Subject: [PATCH 09/13] OP-551: Align with Sylius standards --- doc/01-installation.md | 17 ++--- .../Action/ListWishlistProductsActionSpec.php | 2 +- spec/Exporter/DomPdfWishlistExporterSpec.php | 2 +- .../Action/ImportWishlistFromCsvAction.php | 2 +- .../Action/ListWishlistProductsAction.php | 2 +- .../Action/ShowChosenWishlistAction.php | 2 +- src/Exporter/DomPdfWishlistExporter.php | 2 +- .../twig_hooks/shop/wishlist/index.yaml | 76 +++++++++---------- .../twig_hooks/shop/wishlist/layout.yaml | 2 +- .../form/sections/items/body/name.html.twig | 8 -- src/Resources/views/_cart.html.twig | 4 - .../wishlist/import_wishlist.html.twig} | 0 .../wishlist}/index.html.twig | 0 .../wishlist}/index/content.html.twig | 0 .../wishlist}/index/content/form.html.twig | 0 .../index/content/form/sections.html.twig | 0 .../content/form/sections/actions.html.twig | 0 .../actions/collective_actions.html.twig} | 0 .../actions/global_actions.html.twig} | 0 .../content/form/sections/items.html.twig | 0 .../form/sections/items/body.html.twig | 0 .../sections/items/body/checkbox.html.twig | 0 .../form/sections/items/body/image.html.twig | 0 .../form/sections/items/body/name.html.twig | 8 ++ .../form/sections/items/body/price.html.twig | 0 .../sections/items/body/quantity.html.twig | 0 .../form/sections/items/body/remove.html.twig | 0 .../sections/items/body/variant.html.twig | 0 .../form/sections/items/head.html.twig | 0 .../sections/items/head/actions.html.twig | 0 .../form/sections/items/head/image.html.twig | 0 .../form/sections/items/head/price.html.twig | 0 .../sections/items/head/quantity.html.twig | 0 .../sections/items/head/select_all.html.twig} | 0 .../wishlist}/index/content/header.html.twig | 15 ++-- .../wishlist/wishlist_pdf.html.twig} | 0 .../wishlist_header.html.twig} | 0 37 files changed, 66 insertions(+), 76 deletions(-) delete mode 100644 src/Resources/views/WishlistDetails/index/content/form/sections/items/body/name.html.twig delete mode 100644 src/Resources/views/_cart.html.twig rename src/Resources/views/{importWishlist.html.twig => shop/wishlist/import_wishlist.html.twig} (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/actions.html.twig (100%) rename src/Resources/views/{WishlistDetails/index/content/form/sections/actions/collectiveActions.html.twig => shop/wishlist/index/content/form/sections/actions/collective_actions.html.twig} (100%) rename src/Resources/views/{WishlistDetails/index/content/form/sections/actions/globalActions.html.twig => shop/wishlist/index/content/form/sections/actions/global_actions.html.twig} (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/items.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/items/body.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/items/body/checkbox.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/items/body/image.html.twig (100%) create mode 100644 src/Resources/views/shop/wishlist/index/content/form/sections/items/body/name.html.twig rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/items/body/price.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/items/body/quantity.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/items/body/remove.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/items/body/variant.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/items/head.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/items/head/actions.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/items/head/image.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/items/head/price.html.twig (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/form/sections/items/head/quantity.html.twig (100%) rename src/Resources/views/{WishlistDetails/index/content/form/sections/items/head/selectAll.html.twig => shop/wishlist/index/content/form/sections/items/head/select_all.html.twig} (100%) rename src/Resources/views/{WishlistDetails => shop/wishlist}/index/content/header.html.twig (52%) rename src/Resources/views/{_wishlist_pdf.html.twig => shop/wishlist/wishlist_pdf.html.twig} (100%) rename src/Resources/views/{_wishlist_header.html.twig => shop/wishlist_header.html.twig} (100%) diff --git a/doc/01-installation.md b/doc/01-installation.md index 71ac013e..814412f1 100644 --- a/doc/01-installation.md +++ b/doc/01-installation.md @@ -29,8 +29,8 @@ return [ ```yaml # config/packages/_sylius.yaml imports: - ... - - { resource: "@BitBagSyliusWishlistPlugin/Resources/config/config.yml" } + ... + - { resource: "@BitBagSyliusWishlistPlugin/Resources/config/config.yml" } ``` 4. (optional) Import routing in your `config/routes.yaml` file: @@ -45,10 +45,10 @@ bitbag_sylius_wishlist_plugin: ```yaml sylius_order: - resources: - order_item: - classes: - controller: BitBag\SyliusWishlistPlugin\Controller\OrderItemController + resources: + order_item: + classes: + controller: BitBag\SyliusWishlistPlugin\Controller\OrderItemController ``` @@ -59,11 +59,6 @@ sylius_order: ```yaml sylius_ui: events: - sylius.shop.layout.header.grid: - blocks: - cart: - template: "@BitBagSyliusWishlistPlugin/_cart.html.twig" - priority: 10 sylius.shop.product.index.box: blocks: content: diff --git a/spec/Controller/Action/ListWishlistProductsActionSpec.php b/spec/Controller/Action/ListWishlistProductsActionSpec.php index 41713379..52d6b3ee 100644 --- a/spec/Controller/Action/ListWishlistProductsActionSpec.php +++ b/spec/Controller/Action/ListWishlistProductsActionSpec.php @@ -93,7 +93,7 @@ public function it_lists_wishlist_items( $form->createView()->willReturn($formView); $twigEnvironment ->render( - '@BitBagSyliusWishlistPlugin/WishlistDetails/index.html.twig', + '@BitBagSyliusWishlistPlugin/shop/wishlist/index.html.twig', [ 'wishlist' => $wishlist, 'form' => $formView, diff --git a/spec/Exporter/DomPdfWishlistExporterSpec.php b/spec/Exporter/DomPdfWishlistExporterSpec.php index 0ee40f99..f79fcbf3 100644 --- a/spec/Exporter/DomPdfWishlistExporterSpec.php +++ b/spec/Exporter/DomPdfWishlistExporterSpec.php @@ -52,7 +52,7 @@ public function it_returns_pdf_as_attachment( $html = ''; - $twigEnvironment->render('@BitBagSyliusWishlistPlugin/_wishlist_pdf.html.twig', [ + $twigEnvironment->render('@BitBagSyliusWishlistPlugin/shop/wishlist/wishlist_pdf.html.twig', [ 'title' => 'My wishlist products', 'date' => date('d.m.Y'), 'products' => $data, diff --git a/src/Controller/Action/ImportWishlistFromCsvAction.php b/src/Controller/Action/ImportWishlistFromCsvAction.php index 711b91c9..346eead7 100644 --- a/src/Controller/Action/ImportWishlistFromCsvAction.php +++ b/src/Controller/Action/ImportWishlistFromCsvAction.php @@ -60,7 +60,7 @@ public function __invoke(Request $request): Response } return new Response( - $this->twigEnvironment->render('@BitBagSyliusWishlistPlugin/importWishlist.html.twig', [ + $this->twigEnvironment->render('@BitBagSyliusWishlistPlugin/shop/wishlist/import_wishlist.html.twig', [ 'form' => $form->createView(), ]), ); diff --git a/src/Controller/Action/ListWishlistProductsAction.php b/src/Controller/Action/ListWishlistProductsAction.php index 63281665..9f122a7b 100644 --- a/src/Controller/Action/ListWishlistProductsAction.php +++ b/src/Controller/Action/ListWishlistProductsAction.php @@ -90,7 +90,7 @@ public function __invoke(Request $request): Response ]); return new Response( - $this->twigEnvironment->render('@BitBagSyliusWishlistPlugin/WishlistDetails/index.html.twig', [ + $this->twigEnvironment->render('@BitBagSyliusWishlistPlugin/shop/wishlist/index.html.twig', [ 'wishlist' => $wishlist, 'form' => $form->createView(), ]), diff --git a/src/Controller/Action/ShowChosenWishlistAction.php b/src/Controller/Action/ShowChosenWishlistAction.php index 3f9288f5..0f1cf925 100644 --- a/src/Controller/Action/ShowChosenWishlistAction.php +++ b/src/Controller/Action/ShowChosenWishlistAction.php @@ -70,7 +70,7 @@ public function __invoke(string $wishlistId, Request $request): Response $form = $this->createForm($wishlist); return new Response( - $this->twigEnvironment->render('@BitBagSyliusWishlistPlugin/WishlistDetails/index.html.twig', [ + $this->twigEnvironment->render('@BitBagSyliusWishlistPlugin/shop/wishlist/index.html.twig', [ 'wishlist' => $wishlist, 'form' => $form->createView(), ]), diff --git a/src/Exporter/DomPdfWishlistExporter.php b/src/Exporter/DomPdfWishlistExporter.php index f5099874..32b2c460 100644 --- a/src/Exporter/DomPdfWishlistExporter.php +++ b/src/Exporter/DomPdfWishlistExporter.php @@ -26,7 +26,7 @@ public function __construct( public function export(Collection $data): void { $dompdf = $this->domPdfFactory->createNewWithDefaultOptions(); - $html = $this->twigEnvironment->render('@BitBagSyliusWishlistPlugin/_wishlist_pdf.html.twig', [ + $html = $this->twigEnvironment->render('@BitBagSyliusWishlistPlugin/shop/wishlist/wishlist_pdf.html.twig', [ 'title' => 'My wishlist products', 'date' => date('d.m.Y'), 'products' => $data, diff --git a/src/Resources/config/twig_hooks/shop/wishlist/index.yaml b/src/Resources/config/twig_hooks/shop/wishlist/index.yaml index 37a3fc8c..ffab0d43 100644 --- a/src/Resources/config/twig_hooks/shop/wishlist/index.yaml +++ b/src/Resources/config/twig_hooks/shop/wishlist/index.yaml @@ -2,82 +2,82 @@ sylius_twig_hooks: hooks: 'bitbag_sylius_wishlist_plugin.wishlist.index': content: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content.html.twig" + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content.html.twig" priority: 0 'bitbag_sylius_wishlist_plugin.wishlist.index.content': header: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/header.html.twig" + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/header.html.twig" priority: 100 form: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form.html.twig" - priority: 90 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form.html.twig" + priority: 0 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form': form: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections.html.twig" + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections.html.twig" priority: 0 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections': items: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items.html.twig" + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items.html.twig" priority: 100 actions: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/actions.html.twig" - priority: 90 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions.html.twig" + priority: 0 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.actions': collective_actions: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/actions/collectiveActions.html.twig" + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions/collective_actions.html.twig" priority: 100 global_actions: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/actions/globalActions.html.twig" - priority: 90 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions/global_actions.html.twig" + priority: 0 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.items': head: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head.html.twig" + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/head.html.twig" priority: 100 body: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body.html.twig" - priority: 90 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/body.html.twig" + priority: 0 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.items.head': select_all: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/selectAll.html.twig" - priority: 100 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/head/select_all.html.twig" + priority: 400 image: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/image.html.twig" - priority: 90 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/head/image.html.twig" + priority: 300 price: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/price.html.twig" - priority: 80 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/head/price.html.twig" + priority: 200 quantity: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/quantity.html.twig" - priority: 70 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/head/quantity.html.twig" + priority: 100 actions: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/head/actions.html.twig" - priority: 60 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/head/actions.html.twig" + priority: 0 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.items.body': checkbox: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/checkbox.html.twig" - priority: 100 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/body/checkbox.html.twig" + priority: 600 image: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/image.html.twig" - priority: 90 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/body/image.html.twig" + priority: 500 name: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/name.html.twig" - priority: 80 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/body/name.html.twig" + priority: 400 variant: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/variant.html.twig" - priority: 80 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/body/variant.html.twig" + priority: 300 price: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/price.html.twig" - priority: 70 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/body/price.html.twig" + priority: 200 quantity: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/quantity.html.twig" - priority: 60 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/body/quantity.html.twig" + priority: 100 remove: - template: "@BitBagSyliusWishlistPlugin/WishlistDetails/index/content/form/sections/items/body/remove.html.twig" - priority: 50 + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/items/body/remove.html.twig" + priority: 0 diff --git a/src/Resources/config/twig_hooks/shop/wishlist/layout.yaml b/src/Resources/config/twig_hooks/shop/wishlist/layout.yaml index 424fceef..fdf526f7 100644 --- a/src/Resources/config/twig_hooks/shop/wishlist/layout.yaml +++ b/src/Resources/config/twig_hooks/shop/wishlist/layout.yaml @@ -2,7 +2,7 @@ sylius_twig_hooks: hooks: 'sylius_shop.base.header.content': wishlist_header: - template: "@BitBagSyliusWishlistPlugin/_wishlist_header.html.twig" + template: "@BitBagSyliusWishlistPlugin/shop/wishlist_header.html.twig" priority: 150 # TODO find the right way to extend product box's content diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/body/name.html.twig b/src/Resources/views/WishlistDetails/index/content/form/sections/items/body/name.html.twig deleted file mode 100644 index 9d469dc3..00000000 --- a/src/Resources/views/WishlistDetails/index/content/form/sections/items/body/name.html.twig +++ /dev/null @@ -1,8 +0,0 @@ -{% set product = hookable_metadata.context.product %} -{% set productUrl = path('sylius_shop_product_show', { slug: product.slug, _locale: product.translation.locale }) %} - - diff --git a/src/Resources/views/_cart.html.twig b/src/Resources/views/_cart.html.twig deleted file mode 100644 index 0ce557b2..00000000 --- a/src/Resources/views/_cart.html.twig +++ /dev/null @@ -1,4 +0,0 @@ -
- {% include '@BitBagSyliusWishlistPlugin/_wishlist_header.html.twig' %} - {{ render(url('sylius_shop_partial_cart_summary', {'template': '@SyliusShop/Cart/_widget.html.twig'})) }} -
diff --git a/src/Resources/views/importWishlist.html.twig b/src/Resources/views/shop/wishlist/import_wishlist.html.twig similarity index 100% rename from src/Resources/views/importWishlist.html.twig rename to src/Resources/views/shop/wishlist/import_wishlist.html.twig diff --git a/src/Resources/views/WishlistDetails/index.html.twig b/src/Resources/views/shop/wishlist/index.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index.html.twig rename to src/Resources/views/shop/wishlist/index.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content.html.twig b/src/Resources/views/shop/wishlist/index/content.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content.html.twig rename to src/Resources/views/shop/wishlist/index/content.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form.html.twig b/src/Resources/views/shop/wishlist/index/content/form.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form.html.twig rename to src/Resources/views/shop/wishlist/index/content/form.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/actions.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/actions.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/actions.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/actions.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/actions/collectiveActions.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/collective_actions.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/actions/collectiveActions.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/actions/collective_actions.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/actions/globalActions.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/global_actions.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/actions/globalActions.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/actions/global_actions.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/body.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items/body.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items/body.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/body/checkbox.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/checkbox.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items/body/checkbox.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items/body/checkbox.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/body/image.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/image.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items/body/image.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items/body/image.html.twig diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/name.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/name.html.twig new file mode 100644 index 00000000..1556b423 --- /dev/null +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/name.html.twig @@ -0,0 +1,8 @@ +{% set product = hookable_metadata.context.product %} +{% set product_url = path('sylius_shop_product_show', { slug: product.slug, _locale: product.translation.locale }) %} + + diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/body/price.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/price.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items/body/price.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items/body/price.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/body/quantity.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/quantity.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items/body/quantity.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items/body/quantity.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/body/remove.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/remove.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items/body/remove.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items/body/remove.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/body/variant.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/variant.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items/body/variant.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items/body/variant.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/head.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/head.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items/head.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items/head.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/head/actions.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/head/actions.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items/head/actions.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items/head/actions.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/head/image.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/head/image.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items/head/image.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items/head/image.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/head/price.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/head/price.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items/head/price.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items/head/price.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/head/quantity.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/head/quantity.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items/head/quantity.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items/head/quantity.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/form/sections/items/head/selectAll.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/head/select_all.html.twig similarity index 100% rename from src/Resources/views/WishlistDetails/index/content/form/sections/items/head/selectAll.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/items/head/select_all.html.twig diff --git a/src/Resources/views/WishlistDetails/index/content/header.html.twig b/src/Resources/views/shop/wishlist/index/content/header.html.twig similarity index 52% rename from src/Resources/views/WishlistDetails/index/content/header.html.twig rename to src/Resources/views/shop/wishlist/index/content/header.html.twig index 24bc06e8..03f4a941 100644 --- a/src/Resources/views/WishlistDetails/index/content/header.html.twig +++ b/src/Resources/views/shop/wishlist/index/content/header.html.twig @@ -12,16 +12,15 @@
-{% if wishlists|length > 1 %} -{% else %} +{% if wishlists|length <= 1 %}
diff --git a/src/Resources/views/_wishlist_pdf.html.twig b/src/Resources/views/shop/wishlist/wishlist_pdf.html.twig similarity index 100% rename from src/Resources/views/_wishlist_pdf.html.twig rename to src/Resources/views/shop/wishlist/wishlist_pdf.html.twig diff --git a/src/Resources/views/_wishlist_header.html.twig b/src/Resources/views/shop/wishlist_header.html.twig similarity index 100% rename from src/Resources/views/_wishlist_header.html.twig rename to src/Resources/views/shop/wishlist_header.html.twig From 831610bdca964053e850abad58a67d6753020b10 Mon Sep 17 00:00:00 2001 From: Hubert Filar Date: Tue, 18 Feb 2025 16:17:45 +0100 Subject: [PATCH 10/13] OP-551: Adjust item list styling --- .../assets/shop/scss/pages/wishlist-details/_item.scss | 6 ------ .../index/content/form/sections/items/body/image.html.twig | 2 +- .../index/content/form/sections/items/body/name.html.twig | 2 +- .../index/content/form/sections/items/body/price.html.twig | 6 +++--- 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/Resources/assets/shop/scss/pages/wishlist-details/_item.scss b/src/Resources/assets/shop/scss/pages/wishlist-details/_item.scss index 1c5d8d09..e02d0349 100644 --- a/src/Resources/assets/shop/scss/pages/wishlist-details/_item.scss +++ b/src/Resources/assets/shop/scss/pages/wishlist-details/_item.scss @@ -38,12 +38,6 @@ &-image { grid-area: image; - width: 75%; - height: 75%; - - img { - margin-bottom: 24px; - } } &-name { diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/image.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/image.html.twig index 3e19c59e..c949e321 100644 --- a/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/image.html.twig +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/image.html.twig @@ -1,7 +1,7 @@ {% set product = hookable_metadata.context.product %} {% set variant = hookable_metadata.context.variant %} -
+
{{ component('sylius_shop:main_image', { product: variant.hasImages ? variant : product, class: "w-100 h-100 object-fit-cover", diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/name.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/name.html.twig index 1556b423..5746aec8 100644 --- a/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/name.html.twig +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/name.html.twig @@ -2,7 +2,7 @@ {% set product_url = path('sylius_shop_product_show', { slug: product.slug, _locale: product.translation.locale }) %} diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/price.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/price.html.twig index 26679af2..7d81ac4f 100644 --- a/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/price.html.twig +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/items/body/price.html.twig @@ -3,10 +3,10 @@ {% set product = hookable_metadata.context.product %} {% set variant = hookable_metadata.context.variant %} -
+
{% if not product.variants.empty() %} - + {{ money.calculatePrice(variant) }} - + {% endif %}
From 67aa4c6fb73dbe46fb980d50b34d0e918a917a56 Mon Sep 17 00:00:00 2001 From: Hubert Filar Date: Wed, 19 Feb 2025 11:41:13 +0100 Subject: [PATCH 11/13] OP-551: Split header into hookables, adjust styling --- .../twig_hooks/shop/wishlist/index.yaml | 16 ++++++++++ .../wishlist/index/content/form.html.twig | 24 +++++---------- .../wishlist/index/content/header.html.twig | 29 +------------------ .../index/content/header/actions.html.twig | 5 ++++ .../content/header/actions/clear.html.twig | 9 ++++++ .../content/header/actions/new.html.twig | 19 ++++++++++++ .../index/content/header/title.html.twig | 8 +++++ 7 files changed, 66 insertions(+), 44 deletions(-) create mode 100644 src/Resources/views/shop/wishlist/index/content/header/actions.html.twig create mode 100644 src/Resources/views/shop/wishlist/index/content/header/actions/clear.html.twig create mode 100644 src/Resources/views/shop/wishlist/index/content/header/actions/new.html.twig create mode 100644 src/Resources/views/shop/wishlist/index/content/header/title.html.twig diff --git a/src/Resources/config/twig_hooks/shop/wishlist/index.yaml b/src/Resources/config/twig_hooks/shop/wishlist/index.yaml index ffab0d43..69bf4364 100644 --- a/src/Resources/config/twig_hooks/shop/wishlist/index.yaml +++ b/src/Resources/config/twig_hooks/shop/wishlist/index.yaml @@ -13,6 +13,22 @@ sylius_twig_hooks: template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form.html.twig" priority: 0 + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.header': + title: + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/header/title.html.twig" + priority: 100 + actions: + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/header/actions.html.twig" + priority: 0 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.header.actions': + clear: + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/header/actions/clear.html.twig" + priority: 100 + new: + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/header/actions/new.html.twig" + priority: 0 + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form': form: template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections.html.twig" diff --git a/src/Resources/views/shop/wishlist/index/content/form.html.twig b/src/Resources/views/shop/wishlist/index/content/form.html.twig index 36fe5c6a..ef9b1902 100644 --- a/src/Resources/views/shop/wishlist/index/content/form.html.twig +++ b/src/Resources/views/shop/wishlist/index/content/form.html.twig @@ -4,25 +4,17 @@ {% set form = hookable_metadata.context.form %} {% if wishlist.wishlistProducts.count > 0 %} - - {% hook 'form' with { wishlist, form } %} {% else %} -
-
- {{ messages.info('bitbag_sylius_wishlist_plugin.ui.your_wishlist_is_empty'|trans) }} -
- - - +
+ {{ messages.info('bitbag_sylius_wishlist_plugin.ui.your_wishlist_is_empty'|trans) }}
+ + + {% endif %} diff --git a/src/Resources/views/shop/wishlist/index/content/header.html.twig b/src/Resources/views/shop/wishlist/index/content/header.html.twig index 03f4a941..2234d3eb 100644 --- a/src/Resources/views/shop/wishlist/index/content/header.html.twig +++ b/src/Resources/views/shop/wishlist/index/content/header.html.twig @@ -1,30 +1,3 @@ {% set wishlist = hookable_metadata.context.wishlist %} -{% if sylius.channel is not null %} - {% set wishlists = findAllByAnonymousAndChannel(sylius.channel) %} -{% else %} - {% set wishlists = findAllByAnonymous() %} -{% endif %} -

- -
- {{ wishlist.name }} -
-

- -{% if wishlists|length <= 1 %} -
- - -
-{% endif %} - +{% hook 'header' with { wishlist } %} diff --git a/src/Resources/views/shop/wishlist/index/content/header/actions.html.twig b/src/Resources/views/shop/wishlist/index/content/header/actions.html.twig new file mode 100644 index 00000000..65462aac --- /dev/null +++ b/src/Resources/views/shop/wishlist/index/content/header/actions.html.twig @@ -0,0 +1,5 @@ +{% set wishlist = hookable_metadata.context.wishlist %} + +
+ {% hook 'actions' with { wishlist } %} +
diff --git a/src/Resources/views/shop/wishlist/index/content/header/actions/clear.html.twig b/src/Resources/views/shop/wishlist/index/content/header/actions/clear.html.twig new file mode 100644 index 00000000..78d1e60c --- /dev/null +++ b/src/Resources/views/shop/wishlist/index/content/header/actions/clear.html.twig @@ -0,0 +1,9 @@ +{% set wishlist = hookable_metadata.context.wishlist %} + +{% if wishlist.wishlistProducts.count > 0 %} + +{% endif %} diff --git a/src/Resources/views/shop/wishlist/index/content/header/actions/new.html.twig b/src/Resources/views/shop/wishlist/index/content/header/actions/new.html.twig new file mode 100644 index 00000000..8874b75b --- /dev/null +++ b/src/Resources/views/shop/wishlist/index/content/header/actions/new.html.twig @@ -0,0 +1,19 @@ +{% if sylius.channel is not null %} + {% set wishlists = findAllByAnonymousAndChannel(sylius.channel) %} +{% else %} + {% set wishlists = findAllByAnonymous() %} +{% endif %} + +{% if wishlists|length <= 1 %} + + +{% endif %} diff --git a/src/Resources/views/shop/wishlist/index/content/header/title.html.twig b/src/Resources/views/shop/wishlist/index/content/header/title.html.twig new file mode 100644 index 00000000..cd551df4 --- /dev/null +++ b/src/Resources/views/shop/wishlist/index/content/header/title.html.twig @@ -0,0 +1,8 @@ +{% set wishlist = hookable_metadata.context.wishlist %} + +

+ +
+ {{ wishlist.name }} +
+

From 87ccb233ff1b96f4606e2c1e8f9edab7c00889b4 Mon Sep 17 00:00:00 2001 From: Hubert Filar Date: Wed, 19 Feb 2025 11:54:47 +0100 Subject: [PATCH 12/13] OP-551: Tweak global actions styles --- .../shop/scss/pages/wishlist-details/_actions.scss | 11 ----------- .../views/shop/wishlist/index/content/form.html.twig | 2 +- .../form/sections/actions/global_actions.html.twig | 8 ++++---- .../index/content/header/actions/clear.html.twig | 7 +++++-- 4 files changed, 10 insertions(+), 18 deletions(-) diff --git a/src/Resources/assets/shop/scss/pages/wishlist-details/_actions.scss b/src/Resources/assets/shop/scss/pages/wishlist-details/_actions.scss index 94dc5d35..6907c863 100644 --- a/src/Resources/assets/shop/scss/pages/wishlist-details/_actions.scss +++ b/src/Resources/assets/shop/scss/pages/wishlist-details/_actions.scss @@ -3,15 +3,4 @@ align-items: center; justify-content: space-between; margin: $spacer * 1.5 0 $spacer * .75; - -} - -.bb-wishlist-actions-import-button { - background-color: #E0E1E2 !important; - color: rgba(0, 0, 0, 0.6) !important; -} - -.bb-wishlist-actions-import-button:hover { - background-color: #CACBCD !important; - color: rgba(0, 0, 0, 0.8) !important; } diff --git a/src/Resources/views/shop/wishlist/index/content/form.html.twig b/src/Resources/views/shop/wishlist/index/content/form.html.twig index ef9b1902..71df562e 100644 --- a/src/Resources/views/shop/wishlist/index/content/form.html.twig +++ b/src/Resources/views/shop/wishlist/index/content/form.html.twig @@ -12,7 +12,7 @@ {{ messages.info('bitbag_sylius_wishlist_plugin.ui.your_wishlist_is_empty'|trans) }}
- diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/actions/global_actions.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/global_actions.html.twig index 93392e73..60a6113c 100644 --- a/src/Resources/views/shop/wishlist/index/content/form/sections/actions/global_actions.html.twig +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/global_actions.html.twig @@ -2,8 +2,8 @@ {% set wishlist = hookable_metadata.context.wishlist %} - @@ -11,12 +11,12 @@ diff --git a/src/Resources/views/shop/wishlist/index/content/header/actions/clear.html.twig b/src/Resources/views/shop/wishlist/index/content/header/actions/clear.html.twig index 78d1e60c..64b6afaf 100644 --- a/src/Resources/views/shop/wishlist/index/content/header/actions/clear.html.twig +++ b/src/Resources/views/shop/wishlist/index/content/header/actions/clear.html.twig @@ -1,9 +1,12 @@ {% set wishlist = hookable_metadata.context.wishlist %} {% if wishlist.wishlistProducts.count > 0 %} -
+ {% endif %} From 0435d4a3eb9fe9347079f1fd2378123f49e6d35d Mon Sep 17 00:00:00 2001 From: Hubert Filar Date: Wed, 19 Feb 2025 13:36:57 +0100 Subject: [PATCH 13/13] OP-551: Add hookables for actions and tweak styles --- .../shop/js/wishlistMainCheckboxUpdater.js | 2 +- .../pages/wishlist-details/bulkActions.scss | 31 ++-------- .../twig_hooks/shop/wishlist/index.yaml | 33 +++++++++-- .../form/sections/actions/bulk.html.twig | 11 ++++ .../actions/bulk/add_to_cart.html.twig | 8 +++ .../form/sections/actions/bulk/copy.html.twig | 28 +++++++++ .../actions/bulk/download_csv.html.twig | 8 +++ .../actions/bulk/download_pdf.html.twig | 8 +++ .../sections/actions/bulk/remove.html.twig | 8 +++ .../actions/collective_actions.html.twig | 57 ------------------- .../form/sections/actions/global.html.twig | 4 ++ .../add_to_cart.html.twig} | 8 --- .../sections/actions/global/import.html.twig | 6 ++ .../sections/items/head/select_all.html.twig | 4 +- .../index/content/header/title.html.twig | 1 - 15 files changed, 120 insertions(+), 97 deletions(-) create mode 100644 src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk.html.twig create mode 100644 src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/add_to_cart.html.twig create mode 100644 src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/copy.html.twig create mode 100644 src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/download_csv.html.twig create mode 100644 src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/download_pdf.html.twig create mode 100644 src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/remove.html.twig delete mode 100644 src/Resources/views/shop/wishlist/index/content/form/sections/actions/collective_actions.html.twig create mode 100644 src/Resources/views/shop/wishlist/index/content/form/sections/actions/global.html.twig rename src/Resources/views/shop/wishlist/index/content/form/sections/actions/{global_actions.html.twig => global/add_to_cart.html.twig} (61%) create mode 100644 src/Resources/views/shop/wishlist/index/content/form/sections/actions/global/import.html.twig diff --git a/src/Resources/assets/shop/js/wishlistMainCheckboxUpdater.js b/src/Resources/assets/shop/js/wishlistMainCheckboxUpdater.js index 0f1dc144..33020f0b 100644 --- a/src/Resources/assets/shop/js/wishlistMainCheckboxUpdater.js +++ b/src/Resources/assets/shop/js/wishlistMainCheckboxUpdater.js @@ -6,7 +6,7 @@ export class WishlistMainCheckboxUpdater { this.defaultConfig = { mainCheckboxId: '#toggle-checkboxes', checkboxesData: '[data-bb-checkboxes] input', - bulkActionsBtnClass: '.bb-colective-actions', + bulkActionsBtnClass: '.bb-collective-actions', }; this.finalConfig = {...this.defaultConfig, ...config}; this.mainCheckbox = document.querySelector(this.finalConfig.mainCheckboxId) diff --git a/src/Resources/assets/shop/scss/pages/wishlist-details/bulkActions.scss b/src/Resources/assets/shop/scss/pages/wishlist-details/bulkActions.scss index 115ad6e8..ad8c62bd 100644 --- a/src/Resources/assets/shop/scss/pages/wishlist-details/bulkActions.scss +++ b/src/Resources/assets/shop/scss/pages/wishlist-details/bulkActions.scss @@ -1,28 +1,9 @@ -.bb-colective-actions { - &.disabled { - opacity: .45; - pointer-events: none; - } - - &.enabled { - } - - .wishlist-dropdown-menu { - &__item { - .wishlist-item--button { - text-align: left; - background: #ffffff !important; - color: rgba(0, 0, 0, 0.95) !important; - width: 100%; - } - - .wishlist-item--button:hover { - background: #E0E1E2 !important; - } - } - - &__item:hover { - background: #ffffff !important; +.bb-dropdown { + .dropdown-item { + &:hover, + &:focus, + &:active{ + background-color: transparent; } } } diff --git a/src/Resources/config/twig_hooks/shop/wishlist/index.yaml b/src/Resources/config/twig_hooks/shop/wishlist/index.yaml index 69bf4364..7e5c6631 100644 --- a/src/Resources/config/twig_hooks/shop/wishlist/index.yaml +++ b/src/Resources/config/twig_hooks/shop/wishlist/index.yaml @@ -43,11 +43,36 @@ sylius_twig_hooks: priority: 0 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.actions': - collective_actions: - template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions/collective_actions.html.twig" + bulk: + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions/bulk.html.twig" priority: 100 - global_actions: - template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions/global_actions.html.twig" + global: + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions/global.html.twig" + priority: 0 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.actions.global': + import: + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions/global/import.html.twig" + priority: 100 + add_to_cart: + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions/global/add_to_cart.html.twig" + priority: 0 + + 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.actions.bulk': + add_to_cart: + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions/bulk/add_to_cart.html.twig" + priority: 400 + remove: + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions/bulk/remove.html.twig" + priority: 300 + copy: + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions/bulk/copy.html.twig" + priority: 200 + download_csv: + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions/bulk/download_csv.html.twig" + priority: 100 + download_pdf: + template: "@BitBagSyliusWishlistPlugin/shop/wishlist/index/content/form/sections/actions/bulk/download_pdf.html.twig" priority: 0 'bitbag_sylius_wishlist_plugin.wishlist.index.content.form.sections.items': diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk.html.twig new file mode 100644 index 00000000..5345028a --- /dev/null +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk.html.twig @@ -0,0 +1,11 @@ +{% set wishlist = hookable_metadata.context.wishlist %} + + diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/add_to_cart.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/add_to_cart.html.twig new file mode 100644 index 00000000..20c9dcf8 --- /dev/null +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/add_to_cart.html.twig @@ -0,0 +1,8 @@ +{% set wishlist = hookable_metadata.context.wishlist %} + + diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/copy.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/copy.html.twig new file mode 100644 index 00000000..6f129c20 --- /dev/null +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/copy.html.twig @@ -0,0 +1,28 @@ +{% set wishlist = hookable_metadata.context.wishlist %} + +{% if app.user %} + {% set wishlists = findAllByShopUserAndToken(app.user) %} +{% else %} + {% set wishlists = findAllByAnonymous() %} +{% endif %} + +{% if wishlists|length > 1 %} + +{% endif %} + +{% for wishlistTarget in wishlists %} + {% if wishlist.id != wishlistTarget.id %} + + {% endif %} +{% endfor %} diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/download_csv.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/download_csv.html.twig new file mode 100644 index 00000000..4a119067 --- /dev/null +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/download_csv.html.twig @@ -0,0 +1,8 @@ +{% set wishlist = hookable_metadata.context.wishlist %} + + diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/download_pdf.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/download_pdf.html.twig new file mode 100644 index 00000000..ab914b76 --- /dev/null +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/download_pdf.html.twig @@ -0,0 +1,8 @@ +{% set wishlist = hookable_metadata.context.wishlist %} + + diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/remove.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/remove.html.twig new file mode 100644 index 00000000..14083f9a --- /dev/null +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/bulk/remove.html.twig @@ -0,0 +1,8 @@ +{% set wishlist = hookable_metadata.context.wishlist %} + + diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/actions/collective_actions.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/collective_actions.html.twig deleted file mode 100644 index 093edfc6..00000000 --- a/src/Resources/views/shop/wishlist/index/content/form/sections/actions/collective_actions.html.twig +++ /dev/null @@ -1,57 +0,0 @@ -{% set wishlist = hookable_metadata.context.wishlist %} - -{% if app.user %} - {% set wishlists = findAllByShopUserAndToken(app.user) %} -{% else %} - {% set wishlists = findAllByAnonymous() %} -{% endif %} - diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/actions/global.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/global.html.twig new file mode 100644 index 00000000..1155395d --- /dev/null +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/global.html.twig @@ -0,0 +1,4 @@ +{% set form = hookable_metadata.context.form %} +{% set wishlist = hookable_metadata.context.wishlist %} + +{% hook 'global' with { form, wishlist } %} diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/actions/global_actions.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/global/add_to_cart.html.twig similarity index 61% rename from src/Resources/views/shop/wishlist/index/content/form/sections/actions/global_actions.html.twig rename to src/Resources/views/shop/wishlist/index/content/form/sections/actions/global/add_to_cart.html.twig index 60a6113c..3ad278da 100644 --- a/src/Resources/views/shop/wishlist/index/content/form/sections/actions/global_actions.html.twig +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/actions/global/add_to_cart.html.twig @@ -1,13 +1,6 @@ {% set form = hookable_metadata.context.form %} {% set wishlist = hookable_metadata.context.wishlist %} - - - - + diff --git a/src/Resources/views/shop/wishlist/index/content/form/sections/items/head/select_all.html.twig b/src/Resources/views/shop/wishlist/index/content/form/sections/items/head/select_all.html.twig index 2b6e1e84..872efbb5 100644 --- a/src/Resources/views/shop/wishlist/index/content/form/sections/items/head/select_all.html.twig +++ b/src/Resources/views/shop/wishlist/index/content/form/sections/items/head/select_all.html.twig @@ -1,3 +1,5 @@
- +
+ +
diff --git a/src/Resources/views/shop/wishlist/index/content/header/title.html.twig b/src/Resources/views/shop/wishlist/index/content/header/title.html.twig index cd551df4..1ac0172e 100644 --- a/src/Resources/views/shop/wishlist/index/content/header/title.html.twig +++ b/src/Resources/views/shop/wishlist/index/content/header/title.html.twig @@ -1,7 +1,6 @@ {% set wishlist = hookable_metadata.context.wishlist %}

-
{{ wishlist.name }}