From e67498156c921325870371ff08d21df8aee2166e Mon Sep 17 00:00:00 2001 From: Brieuc-brd Date: Tue, 14 Dec 2021 08:07:14 +0000 Subject: [PATCH] [IMP] website, website_sale: improve design of templates This commit improves the design of dynamic products templates. It introduces templates using multiples rows and fine tunes the design of the other ones. To make thumbnails work in the template selector, an extra data-attribute can now be processed by the snippet option. - data-thumb: it references the location of the thumbnail for a template. If present the option will show the svg / img. If not it will display the name of the template. task-2677203 Part-of: odoo/odoo#80128 Co-authored-by: Arthur Detroux --- addons/website/controllers/main.py | 1 + .../src/snippets/s_dynamic_snippet/options.js | 6 +- .../data/product_snippet_template_data.xml | 290 ++++++++++++------ .../snippets_options/product_add_to_cart.svg | 40 +++ .../img/snippets_options/product_banner.svg | 43 +++ .../snippets_options/product_borderless_1.svg | 38 +++ .../snippets_options/product_borderless_2.svg | 40 +++ .../snippets_options/product_card_group.svg | 41 +++ .../img/snippets_options/product_centered.svg | 41 +++ .../product_horizontal_card.svg | 44 +++ .../product_horizontal_card_2.svg | 38 +++ .../snippets_options/product_image_only.svg | 33 ++ .../product_image_with_name.svg | 36 +++ .../product_image_with_price.svg | 37 +++ .../snippets_options/product_view_detail.svg | 41 +++ .../s_dynamic_snippet_products/000.scss | 54 +++- 16 files changed, 723 insertions(+), 100 deletions(-) create mode 100644 addons/website_sale/static/src/img/snippets_options/product_add_to_cart.svg create mode 100644 addons/website_sale/static/src/img/snippets_options/product_banner.svg create mode 100644 addons/website_sale/static/src/img/snippets_options/product_borderless_1.svg create mode 100644 addons/website_sale/static/src/img/snippets_options/product_borderless_2.svg create mode 100644 addons/website_sale/static/src/img/snippets_options/product_card_group.svg create mode 100644 addons/website_sale/static/src/img/snippets_options/product_centered.svg create mode 100644 addons/website_sale/static/src/img/snippets_options/product_horizontal_card.svg create mode 100644 addons/website_sale/static/src/img/snippets_options/product_horizontal_card_2.svg create mode 100644 addons/website_sale/static/src/img/snippets_options/product_image_only.svg create mode 100644 addons/website_sale/static/src/img/snippets_options/product_image_with_name.svg create mode 100644 addons/website_sale/static/src/img/snippets_options/product_image_with_price.svg create mode 100644 addons/website_sale/static/src/img/snippets_options/product_view_detail.svg diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index 060c603ab1c..85e88859117 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -401,6 +401,7 @@ class Website(Home): t['rowPerSlide'] = attribs.get('data-row-per-slide') t['arrowPosition'] = attribs.get('data-arrow-position') t['extraClasses'] = attribs.get('data-extra-classes') + t['thumb'] = attribs.get('data-thumb') return templates @http.route('/website/get_current_currency', type='json', auth="public", website=True) diff --git a/addons/website/static/src/snippets/s_dynamic_snippet/options.js b/addons/website/static/src/snippets/s_dynamic_snippet/options.js index 0540aad9d4e..ce1de970375 100644 --- a/addons/website/static/src/snippets/s_dynamic_snippet/options.js +++ b/addons/website/static/src/snippets/s_dynamic_snippet/options.js @@ -175,7 +175,11 @@ const dynamicSnippetOptions = options.Class.extend({ for (let id in data) { const button = document.createElement('we-button'); button.dataset.selectDataAttribute = id; - button.innerHTML = data[id].name; + if (data[id].thumb) { + button.dataset.img = data[id].thumb; + } else { + button.innerText = data[id].name; + } selectUserValueWidgetElement.appendChild(button); } }, diff --git a/addons/website_sale/data/product_snippet_template_data.xml b/addons/website_sale/data/product_snippet_template_data.xml index a975fb9d97e..72001c18b19 100644 --- a/addons/website_sale/data/product_snippet_template_data.xml +++ b/addons/website_sale/data/product_snippet_template_data.xml @@ -3,18 +3,18 @@ -