From 3ff8369c346b73c4272f43607b1b58bd63f93f76 Mon Sep 17 00:00:00 2001 From: tomaszkunach <104903574+tomaszkunach@users.noreply.github.com> Date: Wed, 30 Oct 2024 11:22:36 +0100 Subject: [PATCH 1/3] Update composer.json --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index df3cc4e..533883a 100644 --- a/composer.json +++ b/composer.json @@ -11,8 +11,8 @@ ], "license": "MIT", "require": { - "php": "^7.4 || ^8.0", - "sylius/sylius": "^1.12" + "php": "^8.0", + "sylius/sylius": "^2.0.0-alpha.3" }, "require-dev": { "behat/behat": "^3.6.1", From 2de69ab1b23ca4c8420c3cb6588efa0a4b85a623 Mon Sep 17 00:00:00 2001 From: "tomasz.kunach" Date: Wed, 13 Nov 2024 14:27:53 +0100 Subject: [PATCH 2/3] added adaptations for sylius 2.0 --- src/DependencyInjection/Configuration.php | 2 +- .../ProductsToPictogramGroupsTransformer.php | 2 +- src/Resources/config/app/config.yaml | 22 ++++-- src/Resources/config/app/ui.yaml | 45 ----------- .../config/doctrine/Pictogram.orm.xml | 2 +- .../config/routes/pictogram_group.yaml | 2 +- .../routes/pictogram_group_pictograms.yaml | 20 +++-- src/Resources/config/services/menu.yaml | 5 -- src/Resources/config/twig_hooks.yaml | 65 ++++++++++++++++ src/Resources/private/sass/pictogram.scss | 5 +- src/Resources/public/admin-pictogram.min.css | 2 +- src/Resources/translations/messages.en.yaml | 34 +++++---- src/Resources/translations/messages.fr.yaml | 4 + src/Resources/translations/messages.lt.yaml | 29 +++++++ src/Resources/translations/validators.lt.yaml | 18 +++++ .../views/Admin/Pictogram/_form.html.twig | 42 +++++++--- .../Crud/Update/_breadcrumb.html.twig | 34 +++++---- .../Admin/PictogramGroup/_form.html.twig | 33 ++++++-- .../Product/Section/pictograms.html.twig | 15 ++++ .../Section/pictograms_collection.html.twig | 13 ++++ .../Product/Sidebar/pictograms.html.twig | 10 +++ .../views/Form/pictogramTheme.html.twig | 76 ++++++++++--------- .../Pictogram/updatePositions.html.twig | 7 +- .../PictogramGroup/updatePositions.html.twig | 7 +- .../views/Grid/Action/pictogram.html.twig | 4 +- .../Field/pictogram_group_position.html.twig | 4 +- .../Grid/Field/pictogram_position.html.twig | 4 +- src/Traits/PictogramsTrait.php | 18 ++--- 28 files changed, 352 insertions(+), 172 deletions(-) delete mode 100644 src/Resources/config/app/ui.yaml create mode 100644 src/Resources/config/twig_hooks.yaml create mode 100644 src/Resources/translations/messages.lt.yaml create mode 100644 src/Resources/translations/validators.lt.yaml create mode 100644 src/Resources/views/Admin/Product/Section/pictograms.html.twig create mode 100644 src/Resources/views/Admin/Product/Section/pictograms_collection.html.twig create mode 100644 src/Resources/views/Admin/Product/Sidebar/pictograms.html.twig diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php index 3fabdd9..d7f0a79 100755 --- a/src/DependencyInjection/Configuration.php +++ b/src/DependencyInjection/Configuration.php @@ -36,7 +36,7 @@ class Configuration implements ConfigurationInterface /** * {@inheritdoc} */ - public function getConfigTreeBuilder() + public function getConfigTreeBuilder(): TreeBuilder { $treeBuilder = new TreeBuilder('asdoria_sylius_pictogram_plugin'); diff --git a/src/Form/DataTransformer/ProductsToPictogramGroupsTransformer.php b/src/Form/DataTransformer/ProductsToPictogramGroupsTransformer.php index 6a2e9b6..b63df41 100644 --- a/src/Form/DataTransformer/ProductsToPictogramGroupsTransformer.php +++ b/src/Form/DataTransformer/ProductsToPictogramGroupsTransformer.php @@ -55,7 +55,7 @@ public function __construct( /** * {@inheritdoc} */ - public function transform($pictograms) + public function transform($pictograms): mixed { $this->setPictograms($pictograms); diff --git a/src/Resources/config/app/config.yaml b/src/Resources/config/app/config.yaml index 572ce9f..d76c973 100644 --- a/src/Resources/config/app/config.yaml +++ b/src/Resources/config/app/config.yaml @@ -23,9 +23,19 @@ liip_imagine: filters: thumbnail: size: [ 85, 85 ] -jms_serializer: - metadata: - directories: - asdoria-pictogram: - namespace_prefix: "Asdoria\\SyliusPictogramPlugin\\PictogramBundle\\Entity" - path: "@AsdoriaSyliusPictogramPlugin/Resources/config/serializer" + sylius_admin_pictogram_thumbnail_small: + quality: 70 + filters: + thumbnail: + size: [ 25, 25 ] + mode: outbound + sylius_shop_pictogram_thumbnail_medium: + quality: 70 + filters: + thumbnail: + size: [ 45, 45 ] + sylius_shop_pictogram_thumbnail_small: + quality: 70 + filters: + thumbnail: + size: [ 35, 35 ] diff --git a/src/Resources/config/app/ui.yaml b/src/Resources/config/app/ui.yaml deleted file mode 100644 index 694622a..0000000 --- a/src/Resources/config/app/ui.yaml +++ /dev/null @@ -1,45 +0,0 @@ -sylius_ui: - events: - sylius.admin.product.update.javascripts: - blocks: - asdoria_pictograms_javascripts: - template: "@AsdoriaSyliusPictogramPlugin/Admin/_javascripts.html.twig" - priority: 10 - sylius.admin.product.create.javascripts: - blocks: - asdoria_pictograms_javascripts: - template: "@AsdoriaSyliusPictogramPlugin/Admin/_javascripts.html.twig" - priority: 10 - sylius.admin.product.update.stylesheets: - blocks: - asdoria_pictograms_stylesheets: - template: "@AsdoriaSyliusPictogramPlugin/Admin/_stylesheets.html.twig" - priority: 10 - sylius.admin.product.create.stylesheets: - blocks: - asdoria_pictograms_stylesheets: - template: "@AsdoriaSyliusPictogramPlugin/Admin/_stylesheets.html.twig" - priority: 10 - - asdoria.admin.pictogram.index.stylesheets: - blocks: - asdoria_pictograms_stylesheets: - template: "@AsdoriaSyliusPictogramPlugin/Admin/_stylesheets.html.twig" - priority: 10 - asdoria.admin.pictogram.index.javascripts: - blocks: - asdoria_pictograms_javascripts: - template: "@AsdoriaSyliusPictogramPlugin/Admin/_javascripts.html.twig" - priority: 10 - - asdoria.admin.pictogram_group.index.javascripts: - blocks: - asdoria_pictogram_groups_javascripts: - template: "@AsdoriaSyliusPictogramPlugin/Admin/_javascripts.html.twig" - priority: 10 - - sylius.shop.product.show.content: - blocks: - asdoria_pictograms: - template: "@AsdoriaSyliusPictogramPlugin/Shop/Product/show/_groupsPicto.html.twig" - priority: 25 diff --git a/src/Resources/config/doctrine/Pictogram.orm.xml b/src/Resources/config/doctrine/Pictogram.orm.xml index 0f12b7d..ef73dd4 100755 --- a/src/Resources/config/doctrine/Pictogram.orm.xml +++ b/src/Resources/config/doctrine/Pictogram.orm.xml @@ -3,7 +3,7 @@ - + diff --git a/src/Resources/config/routes/pictogram_group.yaml b/src/Resources/config/routes/pictogram_group.yaml index 4ac5392..c82e821 100644 --- a/src/Resources/config/routes/pictogram_group.yaml +++ b/src/Resources/config/routes/pictogram_group.yaml @@ -5,7 +5,7 @@ asdoria_admin_pictogram_group: resource: | alias: asdoria.pictogram_group section: admin - templates: "@SyliusAdmin\\Crud" + templates: "@SyliusAdmin\\shared\\crud" except: ['show'] redirect: index grid: asdoria_admin_pictogram_group diff --git a/src/Resources/config/routes/pictogram_group_pictograms.yaml b/src/Resources/config/routes/pictogram_group_pictograms.yaml index 50364ab..8b55aaf 100644 --- a/src/Resources/config/routes/pictogram_group_pictograms.yaml +++ b/src/Resources/config/routes/pictogram_group_pictograms.yaml @@ -13,7 +13,7 @@ asdoria_admin_pictogram_group_pictograms_index: parameters: pictogramGroupId: $pictogramGroupId section: admin - template: '@SyliusAdmin/Crud/index.html.twig' + template: '@SyliusAdmin/shared/crud/index.html.twig' asdoria_admin_pictogram_group_pictograms_create: path: /pictogram-groups/{pictogramGroupId}/pictograms/new @@ -26,7 +26,7 @@ asdoria_admin_pictogram_group_pictograms_create: parameters: pictogramGroupId: $pictogramGroupId section: admin - template: '@AsdoriaSyliusPictogramPlugin/Admin/PictogramGroup/Pictograms/Crud/create.html.twig' + template: '@SyliusAdmin/shared/crud/create.html.twig' factory: method: createForPictogramGroup arguments: @@ -41,8 +41,11 @@ asdoria_admin_pictogram_group_pictograms_create: name: asdoria_admin_pictogram_group_pictograms_create parameters: pictogramGroupId: $pictogramGroupId - templates: - form: '@AsdoriaSyliusPictogramPlugin/Admin/Pictogram/_form.html.twig' + index: + route: + name: asdoria_admin_pictogram_group_pictograms_index + parameters: + pictogramGroupId: $pictogramGroupId asdoria_admin_pictogram_group_pictograms_update: path: /pictogram-groups/{pictogramGroupId}/pictograms/{id}/edit @@ -55,7 +58,7 @@ asdoria_admin_pictogram_group_pictograms_update: parameters: pictogramGroupId: $pictogramGroupId section: admin - template: '@AsdoriaSyliusPictogramPlugin/Admin/PictogramGroup/Pictograms/Crud/update.html.twig' + template: '@SyliusAdmin/shared/crud/update.html.twig' form: type: Asdoria\SyliusPictogramPlugin\Form\Type\PictogramType options: @@ -67,8 +70,11 @@ asdoria_admin_pictogram_group_pictograms_update: parameters: pictogramGroupId: $pictogramGroupId id: $id - templates: - form: '@AsdoriaSyliusPictogramPlugin/Admin/Pictogram/_form.html.twig' + index: + route: + name: asdoria_admin_pictogram_group_pictograms_index + parameters: + pictogramGroupId: $pictogramGroupId asdoria_admin_pictogram_group_pictograms_delete: path: /pictogram-groups/{pictogramGroupId}/pictograms/{id} diff --git a/src/Resources/config/services/menu.yaml b/src/Resources/config/services/menu.yaml index 12336c3..c8aa1b6 100644 --- a/src/Resources/config/services/menu.yaml +++ b/src/Resources/config/services/menu.yaml @@ -3,8 +3,3 @@ services: class: Asdoria\SyliusPictogramPlugin\Menu\AdminMenuListener tags: - { name: kernel.event_listener, event: sylius.menu.admin.main, method: addAdminMenuItems } - - asdoria_pictogram.listener.admin.product_form_menu_builder: - class: Asdoria\SyliusPictogramPlugin\Menu\AdminProductFormMenuListener - tags: - - { name: kernel.event_listener, event: sylius.menu.admin.product.form, method: addItems } diff --git a/src/Resources/config/twig_hooks.yaml b/src/Resources/config/twig_hooks.yaml new file mode 100644 index 0000000..8444016 --- /dev/null +++ b/src/Resources/config/twig_hooks.yaml @@ -0,0 +1,65 @@ +sylius_twig_hooks: + hooks: + 'sylius_admin.pictogram.index#javascripts': + pictogram: + template: "@AsdoriaSyliusPictogramPlugin/Admin/_javascripts.html.twig" + + 'sylius_admin.pictogram.index#stylesheets': + pictogram: + template: "@AsdoriaSyliusPictogramPlugin/Admin/_stylesheets.html.twig" + + 'sylius_admin.pictogram.create.content.form.sections': + general: + template: '@AsdoriaSyliusPictogramPlugin/Admin/Pictogram/_form.html.twig' + + 'sylius_admin.pictogram.update.content.form.sections': + general: + template: '@AsdoriaSyliusPictogramPlugin/Admin/Pictogram/_form.html.twig' + + 'sylius_admin.common.update.content.header': + breadcrumbs: + template: '@AsdoriaSyliusPictogramPlugin/Admin/PictogramGroup/Pictograms/Crud/Update/_breadcrumb.html.twig' + + 'sylius_admin.common.update.content.header.title_block.actions': + show: + enabled: false + + 'sylius_admin.pictogram_group.index#javascripts': + pictogram: + template: "@AsdoriaSyliusPictogramPlugin/Admin/_javascripts.html.twig" + + 'sylius_admin.pictogram_group.create.content.form.sections': + general: + template: '@AsdoriaSyliusPictogramPlugin/Admin/PictogramGroup/_form.html.twig' + + 'sylius_admin.pictogram_group.update.content.form.sections': + general: + template: '@AsdoriaSyliusPictogramPlugin/Admin/PictogramGroup/_form.html.twig' + + 'sylius_admin.product.create#javascripts': + pictogram: + template: "@AsdoriaSyliusPictogramPlugin/Admin/_javascripts.html.twig" + + 'sylius_admin.product.create#stylesheets': + pictogam: + template: "@AsdoriaSyliusPictogramPlugin/Admin/_stylesheets.html.twig" + + 'sylius_admin.product.update#javascripts': + pictogram: + template: "@AsdoriaSyliusPictogramPlugin/Admin/_javascripts.html.twig" + + 'sylius_admin.product.update#stylesheets': + pictogam: + template: "@AsdoriaSyliusPictogramPlugin/Admin/_stylesheets.html.twig" + + 'sylius_admin.product.update.content.form.side_navigation': + pictograms: + template: '@AsdoriaSyliusPictogramPlugin/Admin/Product/Sidebar/pictograms.html.twig' + + 'sylius_admin.product.update.content.form.sections': + pictograms: + template: "@AsdoriaSyliusPictogramPlugin/Admin/Product/Section/pictograms.html.twig" + + 'sylius_admin.product.update.content.form.sections.pictograms': + pictograms_collection: + template: "@AsdoriaSyliusPictogramPlugin/Admin/Product/Section/pictograms_collection.html.twig" diff --git a/src/Resources/private/sass/pictogram.scss b/src/Resources/private/sass/pictogram.scss index 70a1e24..4352bb3 100755 --- a/src/Resources/private/sass/pictogram.scss +++ b/src/Resources/private/sass/pictogram.scss @@ -9,6 +9,7 @@ .pictograms { display: flex !important; flex-wrap: wrap; + margin: 0.75rem 0; } .pictograms .field > div { @@ -22,7 +23,7 @@ height: 100%; text-align: center; padding: 10px !important; - margin-left: 4.5rem; + margin-left: 2rem; border: solid 1px #d2d2d2; } @@ -52,4 +53,4 @@ .pictograms input:checked ~label { border: solid 1px #ff6461; -} \ No newline at end of file +} diff --git a/src/Resources/public/admin-pictogram.min.css b/src/Resources/public/admin-pictogram.min.css index e9cc716..9ae97ae 100644 --- a/src/Resources/public/admin-pictogram.min.css +++ b/src/Resources/public/admin-pictogram.min.css @@ -1 +1 @@ -.raw-hide{display:none!important}.package-error{color:#9f3a38!important;font-weight:700!important}.pictograms{display:flex!important;flex-wrap:wrap}.pictograms .field>div{height:100%}.pictograms label{border:1px solid #d2d2d2;display:flex!important;flex-direction:column;height:100%;margin-left:4.5rem;padding:10px!important;text-align:center;width:100px}.pictograms label div img{max-height:100%;max-width:100%}.pictograms label span{display:block;margin-top:10px}.pictograms label:before{content:none!important}.pictograms label:after{content:none!important;opacity:0!important}.pictograms input:checked~label{border:1px solid #ff6461} \ No newline at end of file +.raw-hide{display:none!important}.package-error{font-weight:700!important;color:#9f3a38!important}.pictograms{display:flex!important;flex-wrap:wrap;margin:.75rem 0}.pictograms .field>div{height:100%}.pictograms label{display:flex!important;flex-direction:column;width:100px;height:100%;text-align:center;padding:10px!important;margin-left:2rem;border:1px solid #d2d2d2}.pictograms label div img{max-width:100%;max-height:100%}.pictograms label span{display:block;margin-top:10px}.pictograms label:before{content:none!important}.pictograms label:after{content:none!important;opacity:0!important}.pictograms input:checked~label{border:1px solid #ff6461} diff --git a/src/Resources/translations/messages.en.yaml b/src/Resources/translations/messages.en.yaml index aaa7083..9c32ce5 100644 --- a/src/Resources/translations/messages.en.yaml +++ b/src/Resources/translations/messages.en.yaml @@ -3,23 +3,27 @@ asdoria: admin: main: pictogram_groups: - header: Pictogram Groups + header: Piktogramų grupės ui: - pictograms: Pictograms - pictogram_groups: Pictogram Groups - pictogram_group: Pictogram Group - new_pictogram: New Pictogram - new_pictogram_group: New pictogram group - edit_pictogram_group: Edit pictogram group - edit_pictogram: Edit pictogram - manage_pictograms: Managing Pictograms + pictogram: Piktograma + pictograms: Piktogramos + pictogram_groups: Piktogramų grupės + pictogram_group: Piktogramų grupė + new_pictogram: Nauja piktograma + new_pictogram_group: Nauja piktogramų grupė + edit_pictogram_group: Redaguoti piktogramų grupę + edit_pictogram: Redaguoti piktogramą + manage_pictograms: Piktogramų tvarkymas form: pictogram: - main_image: Main image - pictogram_group: Pictogram group - name: Name + main_image: Pagrindinis vaizdas + pictogram_group: Piktogramų grupė + name: Vardas pictogram_group: - name: Name - pictograms: Pictograms + name: Vardas + pictograms: Piktogramos pictogram_image: - file: Image + file: Vaizdas + translations: + pictogram: Piktogramų vertimai + pictogram_group: Piktogramų grupių vertimai diff --git a/src/Resources/translations/messages.fr.yaml b/src/Resources/translations/messages.fr.yaml index 5150881..e1dfbed 100644 --- a/src/Resources/translations/messages.fr.yaml +++ b/src/Resources/translations/messages.fr.yaml @@ -5,6 +5,7 @@ asdoria: pictogram_groups: header: Groupe de Pictogramme ui: + pictogram: Pictogramme pictograms: Pictogrammes pictogram_groups: Groupes de pictogramme pictogram_group: Groupe de pictogramme @@ -23,3 +24,6 @@ asdoria: pictograms: Pictogrammes pictogram_image: file: Image + translations: + pictogram: Pictogram translations + pictogram_group: Pictogram group translations diff --git a/src/Resources/translations/messages.lt.yaml b/src/Resources/translations/messages.lt.yaml new file mode 100644 index 0000000..a017499 --- /dev/null +++ b/src/Resources/translations/messages.lt.yaml @@ -0,0 +1,29 @@ +asdoria: + menu: + admin: + main: + pictogram_groups: + header: Pictogram Groups + ui: + pictogram: Pictogram + pictograms: Pictograms + pictogram_groups: Pictogram Groups + pictogram_group: Pictogram Group + new_pictogram: New Pictogram + new_pictogram_group: New pictogram group + edit_pictogram_group: Edit pictogram group + edit_pictogram: Edit pictogram + manage_pictograms: Managing Pictograms + form: + pictogram: + main_image: Main image + pictogram_group: Pictogram group + name: Name + pictogram_group: + name: Name + pictograms: Pictograms + pictogram_image: + file: Image + translations: + pictogram: Pictogram translations + pictogram_group: Pictogram group translations diff --git a/src/Resources/translations/validators.lt.yaml b/src/Resources/translations/validators.lt.yaml new file mode 100644 index 0000000..b293e61 --- /dev/null +++ b/src/Resources/translations/validators.lt.yaml @@ -0,0 +1,18 @@ +asdoria: + ui: + pictogram: + group: + not_blank: Piktograma turi būti susieta su grupe. + image: + not_blank: Piktogramoje turi būti atvaizdas, iliustruojantis save. + pictogram_group: + code: + unique: Šis kodas jau užimtas. + not_blank: Laukas „Kodas“ negali būti tuščias. + pictogram_group_translation: + name: + unique: Vardas jau užimtas. + not_blank: Laukas „Vardas“ negali būti tuščias. + image: + path: + not_blank: Turite įkelti vaizdą. diff --git a/src/Resources/views/Admin/Pictogram/_form.html.twig b/src/Resources/views/Admin/Pictogram/_form.html.twig index c2984f7..12c39db 100644 --- a/src/Resources/views/Admin/Pictogram/_form.html.twig +++ b/src/Resources/views/Admin/Pictogram/_form.html.twig @@ -1,15 +1,33 @@ -{% form_theme form '@AsdoriaSyliusPictogramPlugin/Form/imagesTheme.html.twig' %} -{% from '@SyliusAdmin/Macro/translationForm.html.twig' import translationForm %} +{% if form is not defined %} + {% set form = hookable_metadata.context.form %} +{% endif %} -{{ form_errors(form) }} -
- {{ form_row(form.code) }} - {{ form_row(form.pictogramGroup) }} -
- {{ translationForm(form.translations) }} -
-
- - {{ form_widget(form.image, {'label': false}) }} +{% import '@SyliusAdmin/shared/helper/translations.html.twig' as translations %} + +
+ {{ form_errors(form) }} + +
+ {{ form_row(form.code) }} +
+
+ {{ form_row(form.pictogramGroup) }} +
+
+
+
+
+

+ {{ 'asdoria.form.translations.pictogram'|trans }} +

+
+
+ {{ translations.default(form.translations, null, {accordion_id: 'pictogram-translations', accordion_flush: true}) }} +
+
+
+
+
+ {{ form_widget(form.image) }}
diff --git a/src/Resources/views/Admin/PictogramGroup/Pictograms/Crud/Update/_breadcrumb.html.twig b/src/Resources/views/Admin/PictogramGroup/Pictograms/Crud/Update/_breadcrumb.html.twig index 14a0720..e7bace4 100644 --- a/src/Resources/views/Admin/PictogramGroup/Pictograms/Crud/Update/_breadcrumb.html.twig +++ b/src/Resources/views/Admin/PictogramGroup/Pictograms/Crud/Update/_breadcrumb.html.twig @@ -1,13 +1,21 @@ -{% import '@SyliusAdmin/Macro/breadcrumb.html.twig' as breadcrumb %} - -{% set breadcrumbs = [ - { label: 'sylius.ui.administration'|trans, url: path('sylius_admin_dashboard') }, - { label: 'asdoria.ui.pictogram_groups'|trans , url: path('asdoria_admin_pictogram_group_index')}, - { label: resource.pictogramGroup.name, url: path('asdoria_admin_pictogram_group_update', {'id': resource.pictogramGroup.id}) }, - { label: 'asdoria.ui.pictograms'|trans, url: path('asdoria_admin_pictogram_group_pictograms_index', {'pictogramGroupId': resource.pictogramGroup.id}) }, - { label: resource.name }, - { label: 'sylius.ui.edit'|trans } - ] -%} - -{{ breadcrumb.crumble(breadcrumbs) }} +{% from '@SyliusAdmin/shared/helper/breadcrumbs.html.twig' import breadcrumbs %} + +{% set configuration = hookable_metadata.context.configuration %} +{% set resource = hookable_metadata.context.resource %} +{% set metadata = hookable_metadata.context.metadata %} + +{% set resource_index = metadata.applicationName~'.ui.'~metadata.pluralName %} +{% set index_url = path( + configuration.vars.index.route.name|default(configuration.getRouteName('index')), + configuration.vars.index.route.parameters|default(configuration.vars.route.parameters|default({})) +) %} + +{% set rendered_field_prefix = hookable_metadata.configuration.rendered_field_prefix|default(null) %} +{% set field_name = hookable_metadata.configuration.rendered_field|default('') %} +{% set rendered_field = rendered_field_prefix ~ (attribute(resource, field_name) is defined ? attribute(resource, field_name) : null) %} + +{{ breadcrumbs([ + { name: 'sylius.ui.dashboard', url: path('sylius_admin_dashboard'), active: false }, + { name: resource_index, url: index_url, active: false }, + { name: 'sylius.ui.edit'|trans, active: false } +]) }} diff --git a/src/Resources/views/Admin/PictogramGroup/_form.html.twig b/src/Resources/views/Admin/PictogramGroup/_form.html.twig index 35af18b..88894b9 100644 --- a/src/Resources/views/Admin/PictogramGroup/_form.html.twig +++ b/src/Resources/views/Admin/PictogramGroup/_form.html.twig @@ -1,8 +1,27 @@ -{% form_theme form '@SyliusAdmin/Form/imagesTheme.html.twig' %} -{% from '@SyliusAdmin/Macro/translationForm.html.twig' import translationForm %} +{% if form is not defined %} + {% set form = hookable_metadata.context.form %} +{% endif %} -{{ form_errors(form) }} -
- {{ form_row(form.code) }} - {{ translationForm(form.translations) }} -
\ No newline at end of file +{% import '@SyliusAdmin/shared/helper/translations.html.twig' as translations %} + +
+ {{ form_errors(form) }} + +
+ {{ form_row(form.code) }} +
+
+
+
+
+

+ {{ 'asdoria.form.translations.pictogram_group'|trans }} +

+
+
+ {{ translations.default(form.translations, null, {accordion_id: 'pictogram-group-translations', accordion_flush: true}) }} +
+
+
+
+
diff --git a/src/Resources/views/Admin/Product/Section/pictograms.html.twig b/src/Resources/views/Admin/Product/Section/pictograms.html.twig new file mode 100644 index 0000000..0de9e8d --- /dev/null +++ b/src/Resources/views/Admin/Product/Section/pictograms.html.twig @@ -0,0 +1,15 @@ +{% set form = hookable_metadata.context.form %} +{% set product = hookable_metadata.context.resource %} + +
+
+
+

+ {{ 'asdoria.ui.pictograms'|trans }} +

+
+
+ {% hook 'pictograms' with { product, form } %} +
+
+
diff --git a/src/Resources/views/Admin/Product/Section/pictograms_collection.html.twig b/src/Resources/views/Admin/Product/Section/pictograms_collection.html.twig new file mode 100644 index 0000000..6cdfe12 --- /dev/null +++ b/src/Resources/views/Admin/Product/Section/pictograms_collection.html.twig @@ -0,0 +1,13 @@ +{% set form = hookable_metadata.context.form %} +{% set pictograms = hookable_metadata.context.form.pictograms %} +{% set product = hookable_metadata.context.product %} + +{% form_theme form '@AsdoriaSyliusPictogramPlugin/Form/pictogramTheme.html.twig' %} + +
+ {{ form_row(form.pictograms) }} +
diff --git a/src/Resources/views/Admin/Product/Sidebar/pictograms.html.twig b/src/Resources/views/Admin/Product/Sidebar/pictograms.html.twig new file mode 100644 index 0000000..8fc6144 --- /dev/null +++ b/src/Resources/views/Admin/Product/Sidebar/pictograms.html.twig @@ -0,0 +1,10 @@ + diff --git a/src/Resources/views/Form/pictogramTheme.html.twig b/src/Resources/views/Form/pictogramTheme.html.twig index b0d843b..b19359f 100644 --- a/src/Resources/views/Form/pictogramTheme.html.twig +++ b/src/Resources/views/Form/pictogramTheme.html.twig @@ -1,48 +1,16 @@ -{% extends '@SyliusAdmin/Form/theme.html.twig' %} - +{% extends '@SyliusAdmin/shared/form_theme.html.twig' %} {% block pictogram_choice_widget -%}
{% for group_label, group in choices %} {%- if group is iterable -%} -
+
{% for key, choice in group %} -
- +
{% set child = form[key] %} - {% set pictogram = getPictogramForId(child.vars.value) %} - {% set path = 'http://placehold.it/200x200' %} - {% if pictogram.image is not null %} - {% set path = pictogram.image.path|imagine_filter(filter|default('sylius_small')) %} - {% endif %} -
- {% if not compound -%} - {% set label_attr = label_attr|merge({'for': id}) %} - {%- endif -%} - {% if required -%} - {% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' required')|trim}) %} - {%- endif -%} - {% set label_attr = label_attr|merge({'data-img': path|default('')|trim}) %} - {% if label is empty -%} - {%- if label_format is not empty -%} - {% set label = label_format|replace({ - '%name%': name, - '%id%': id, - }) %} - {%- else -%} - {% set label = name|humanize %} - {%- endif -%} - {%- endif -%} - -
- -
- - - {{- form_widget(child) -}} -
+ {{ form_widget(child, {'attr': {'class': 'd-none'}}) }}
{% endfor -%}
@@ -50,3 +18,39 @@ {% endfor %}
{%- endblock pictogram_choice_widget %} + +{% block _sylius_admin_product_pictograms_entry_label %} + {% set pictogram = getPictogramForId(form.vars.value) %} + {% set path = 'http://placehold.it/200x200' %} + {% if pictogram.image is not null %} + {% set path = pictogram.image.path|imagine_filter(filter|default('sylius_small')) %} + {% endif %} + + {%- if widget is defined -%} + + {% if not compound -%} + {% set label_attr = label_attr|merge({'for': id}) %} + {%- endif -%} + {% if required -%} + {% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' required')|trim}) %} + {%- endif -%} + {% set label_attr = label_attr|merge({'data-img': path|default('')|trim}) %} + {% if label is empty -%} + {%- if label_format is not empty -%} + {% set label = label_format|replace({ + '%name%': name, + '%id%': id, + }) %} + {%- else -%} + {% set label = name|humanize %} + {%- endif -%} + {%- endif -%} + {{ widget|raw }} + +
+ +
+ {{- form_errors(form) -}} + + {%- endif -%} +{% endblock %} diff --git a/src/Resources/views/Grid/Action/Pictogram/updatePositions.html.twig b/src/Resources/views/Grid/Action/Pictogram/updatePositions.html.twig index 978a657..2fa5f47 100644 --- a/src/Resources/views/Grid/Action/Pictogram/updatePositions.html.twig +++ b/src/Resources/views/Grid/Action/Pictogram/updatePositions.html.twig @@ -1,9 +1,12 @@ +{% from '@SyliusAdmin/shared/helper/icon.html.twig' import icon %} +
-
diff --git a/src/Resources/views/Grid/Action/PictogramGroup/updatePositions.html.twig b/src/Resources/views/Grid/Action/PictogramGroup/updatePositions.html.twig index 7ad301e..1852a78 100644 --- a/src/Resources/views/Grid/Action/PictogramGroup/updatePositions.html.twig +++ b/src/Resources/views/Grid/Action/PictogramGroup/updatePositions.html.twig @@ -1,9 +1,12 @@ +{% from '@SyliusAdmin/shared/helper/icon.html.twig' import icon %} +
-
diff --git a/src/Resources/views/Grid/Action/pictogram.html.twig b/src/Resources/views/Grid/Action/pictogram.html.twig index 6ba9d55..9620e67 100644 --- a/src/Resources/views/Grid/Action/pictogram.html.twig +++ b/src/Resources/views/Grid/Action/pictogram.html.twig @@ -1,5 +1,5 @@ -{% import '@SyliusUi/Macro/buttons.html.twig' as buttons %} +{% import '@SyliusAdmin/shared/helper/button.html.twig' as button %} {% set path = options.link.url|default(path(options.link.route, options.link.parameters)) %} -{{ buttons.default(path, action.label, null, 'cubes') }} \ No newline at end of file +{{ button.default({url: path, class: 'btn-icon', icon: 'cube', text: ''}) }} diff --git a/src/Resources/views/Grid/Field/pictogram_group_position.html.twig b/src/Resources/views/Grid/Field/pictogram_group_position.html.twig index b53f242..698fa30 100644 --- a/src/Resources/views/Grid/Field/pictogram_group_position.html.twig +++ b/src/Resources/views/Grid/Field/pictogram_group_position.html.twig @@ -1,5 +1,5 @@
-
- +
+
diff --git a/src/Resources/views/Grid/Field/pictogram_position.html.twig b/src/Resources/views/Grid/Field/pictogram_position.html.twig index 02b7955..82ed6c9 100644 --- a/src/Resources/views/Grid/Field/pictogram_position.html.twig +++ b/src/Resources/views/Grid/Field/pictogram_position.html.twig @@ -1,5 +1,5 @@
-
- +
+
diff --git a/src/Traits/PictogramsTrait.php b/src/Traits/PictogramsTrait.php index 330e5d1..0e40874 100644 --- a/src/Traits/PictogramsTrait.php +++ b/src/Traits/PictogramsTrait.php @@ -6,9 +6,11 @@ use Asdoria\SyliusPictogramPlugin\Entity\Pictogram; use Asdoria\SyliusPictogramPlugin\Model\PictogramInterface; +use Asdoria\SyliusProductDocumentPlugin\Model\ProductDocumentInterface; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; +use Doctrine\ORM\Mapping\OneToMany; /** * Trait PictogramsTrait @@ -18,16 +20,14 @@ trait PictogramsTrait { /** * @var Collection - * - * @ORM\ManyToMany( - * targetEntity="Asdoria\SyliusPictogramPlugin\Model\PictogramInterface", - * inversedBy="products") - * @ORM\JoinTable( - * name="asdoria_products_pictograms", - * joinColumns={@ORM\JoinColumn(name="product_id", referencedColumnName="id")}, - * inverseJoinColumns={@ORM\JoinColumn(name="pictogram_id", referencedColumnName="id")} - * ) */ + #[ORM\ManyToMany( + targetEntity: PictogramInterface::class, + inversedBy: 'products', + )] + #[ORM\JoinTable(name: 'asdoria_products_pictograms')] + #[ORM\JoinColumn(name: 'product_id', referencedColumnName: 'id')] + #[ORM\InverseJoinColumn(name: 'pictogram_id', referencedColumnName: 'id')] protected Collection $pictograms; /** From 5e21c3b4c63d44a3806bdb4cab2ae27812d981ee Mon Sep 17 00:00:00 2001 From: "tomasz.kunach" Date: Tue, 19 Nov 2024 10:03:05 +0100 Subject: [PATCH 3/3] adjust to sylius 2.0 --- composer.json | 2 +- .../views/Grid/Action/Pictogram/updatePositions.html.twig | 4 +--- .../Grid/Action/PictogramGroup/updatePositions.html.twig | 4 +--- src/Resources/views/Grid/Action/pictogram.html.twig | 2 +- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index 533883a..161e1dc 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ "license": "MIT", "require": { "php": "^8.0", - "sylius/sylius": "^2.0.0-alpha.3" + "sylius/sylius": "^2.0" }, "require-dev": { "behat/behat": "^3.6.1", diff --git a/src/Resources/views/Grid/Action/Pictogram/updatePositions.html.twig b/src/Resources/views/Grid/Action/Pictogram/updatePositions.html.twig index 2fa5f47..308f26e 100644 --- a/src/Resources/views/Grid/Action/Pictogram/updatePositions.html.twig +++ b/src/Resources/views/Grid/Action/Pictogram/updatePositions.html.twig @@ -1,12 +1,10 @@ -{% from '@SyliusAdmin/shared/helper/icon.html.twig' import icon %} -
diff --git a/src/Resources/views/Grid/Action/PictogramGroup/updatePositions.html.twig b/src/Resources/views/Grid/Action/PictogramGroup/updatePositions.html.twig index 1852a78..562b2d7 100644 --- a/src/Resources/views/Grid/Action/PictogramGroup/updatePositions.html.twig +++ b/src/Resources/views/Grid/Action/PictogramGroup/updatePositions.html.twig @@ -1,12 +1,10 @@ -{% from '@SyliusAdmin/shared/helper/icon.html.twig' import icon %} -
diff --git a/src/Resources/views/Grid/Action/pictogram.html.twig b/src/Resources/views/Grid/Action/pictogram.html.twig index 9620e67..6ed12dc 100644 --- a/src/Resources/views/Grid/Action/pictogram.html.twig +++ b/src/Resources/views/Grid/Action/pictogram.html.twig @@ -2,4 +2,4 @@ {% set path = options.link.url|default(path(options.link.route, options.link.parameters)) %} -{{ button.default({url: path, class: 'btn-icon', icon: 'cube', text: ''}) }} +{{ button.default({url: path, class: 'btn-icon', icon: 'tabler:image-in-picture', text: ''}) }}