From 27a952920f760f2479d799890ea2f4fc9acb5d05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Fri, 17 May 2024 06:23:17 +0200 Subject: [PATCH] [Admin][Product] Add view in store button --- .../config/app/twig_hooks/product/show.yaml | 4 ++ .../config/app/twig_hooks/product/update.yaml | 8 +-- .../actions/view_in_store.html.twig | 50 +++++++++++++++++++ .../header/title_block/title.html.twig | 3 ++ .../header/title_block/actions/more.html.twig | 8 --- .../actions/more/view_in_store.html.twig | 8 --- 6 files changed, 59 insertions(+), 22 deletions(-) create mode 100644 src/Sylius/Bundle/AdminBundle/templates/product/common/header/title_block/actions/view_in_store.html.twig delete mode 100644 src/Sylius/Bundle/AdminBundle/templates/product/update/header/title_block/actions/more.html.twig delete mode 100644 src/Sylius/Bundle/AdminBundle/templates/product/update/header/title_block/actions/more/view_in_store.html.twig diff --git a/src/Sylius/Bundle/AdminBundle/Resources/config/app/twig_hooks/product/show.yaml b/src/Sylius/Bundle/AdminBundle/Resources/config/app/twig_hooks/product/show.yaml index 64cc80d9fab..210a4f9d9db 100644 --- a/src/Sylius/Bundle/AdminBundle/Resources/config/app/twig_hooks/product/show.yaml +++ b/src/Sylius/Bundle/AdminBundle/Resources/config/app/twig_hooks/product/show.yaml @@ -7,6 +7,10 @@ twig_hooks: 'sylius_admin.product.show.content.header.title_block': title: template: '@SyliusAdmin/product/show/content/header/title_block/title.html.twig' + + 'sylius_admin.product.show.content.header.title_block.actions': + view_in_store: + template: '@SyliusAdmin/product/common/header/title_block/actions/view_in_store.html.twig' 'sylius_admin.product.show.content.page_body': details: diff --git a/src/Sylius/Bundle/AdminBundle/Resources/config/app/twig_hooks/product/update.yaml b/src/Sylius/Bundle/AdminBundle/Resources/config/app/twig_hooks/product/update.yaml index 257437966df..a0279399dbb 100644 --- a/src/Sylius/Bundle/AdminBundle/Resources/config/app/twig_hooks/product/update.yaml +++ b/src/Sylius/Bundle/AdminBundle/Resources/config/app/twig_hooks/product/update.yaml @@ -14,13 +14,9 @@ twig_hooks: method: 'PUT' 'sylius_admin.product.update.content.header.title_block.actions': - more: - template: '@SyliusAdmin/product/update/header/title_block/actions/more.html.twig' - priority: 32 - - 'sylius_admin.product.update.content.header.title_block.actions.more': view_in_store: - template: '@SyliusAdmin/product/update/header/title_block/actions/more/view_in_store.html.twig' + template: '@SyliusAdmin/product/common/header/title_block/actions/view_in_store.html.twig' + priority: 32 'sylius_admin.product.update.content.form': side_navigation: diff --git a/src/Sylius/Bundle/AdminBundle/templates/product/common/header/title_block/actions/view_in_store.html.twig b/src/Sylius/Bundle/AdminBundle/templates/product/common/header/title_block/actions/view_in_store.html.twig new file mode 100644 index 00000000000..3b2b6109caf --- /dev/null +++ b/src/Sylius/Bundle/AdminBundle/templates/product/common/header/title_block/actions/view_in_store.html.twig @@ -0,0 +1,50 @@ +{% from '@SyliusAdmin/shared/helper/icon.html.twig' import icon as _icon %} + +{% set product = (hookable_metadata.context.resource) %} +{% set enabledChannels = product.channels|filter(channel => channel.enabled == true) %} + +{% if sylius_bundle_loaded_checker('SyliusShopBundle') %} + {% if not product.enabled or enabledChannels|length < 1 %} + + {{ _icon({ icon: 'arrow-up-right', class: 'icon icon-tabler' }) }} + {{ 'sylius.ui.view_in_store'|trans }} + + {% elseif enabledChannels|length > 1 %} + + {% else %} + {% for channel in enabledChannels %} + {% set product_translation = sylius_product_translation(product, channel) %} + {% if product_translation is not null %} + {% set url = sylius_channel_url(path('sylius_shop_product_show', {'slug': product_translation.slug, '_locale': product_translation.locale}), channel) %} + {% endif %} + + + {{ _icon({ icon: 'arrow-up-right', class: 'icon icon-tabler' }) }} + {{ 'sylius.ui.view_in_store'|trans }} + + {% endfor %} + {% endif %} +{% endif %} diff --git a/src/Sylius/Bundle/AdminBundle/templates/product/show/content/header/title_block/title.html.twig b/src/Sylius/Bundle/AdminBundle/templates/product/show/content/header/title_block/title.html.twig index 262db20eae2..3af6972813c 100644 --- a/src/Sylius/Bundle/AdminBundle/templates/product/show/content/header/title_block/title.html.twig +++ b/src/Sylius/Bundle/AdminBundle/templates/product/show/content/header/title_block/title.html.twig @@ -5,3 +5,6 @@

{{ product.name }}

+
+ {% hook 'actions' %} +
diff --git a/src/Sylius/Bundle/AdminBundle/templates/product/update/header/title_block/actions/more.html.twig b/src/Sylius/Bundle/AdminBundle/templates/product/update/header/title_block/actions/more.html.twig deleted file mode 100644 index cd51d706966..00000000000 --- a/src/Sylius/Bundle/AdminBundle/templates/product/update/header/title_block/actions/more.html.twig +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/src/Sylius/Bundle/AdminBundle/templates/product/update/header/title_block/actions/more/view_in_store.html.twig b/src/Sylius/Bundle/AdminBundle/templates/product/update/header/title_block/actions/more/view_in_store.html.twig deleted file mode 100644 index dce26f1be4d..00000000000 --- a/src/Sylius/Bundle/AdminBundle/templates/product/update/header/title_block/actions/more/view_in_store.html.twig +++ /dev/null @@ -1,8 +0,0 @@ -{% from '@SyliusAdmin/shared/helper/icon.html.twig' import icon as _icon %} - -
  • - - {{ _icon({ icon: 'arrow-up-right', class: 'icon dropdown-item-icon icon-tabler' }) }} - {{ 'sylius.ui.view_in_store'|trans }} - -