diff options
| author | Laurent Stukkens (LTU) <ltu@odoo.com> | 2020-06-17 14:48:40 +0000 |
|---|---|---|
| committer | Laurent Stukkens (LTU) <ltu@odoo.com> | 2020-08-18 17:40:25 +0000 |
| commit | 0e7640b5f22d2bea04bbe22d3189cff7e03af545 (patch) | |
| tree | b5c388d2bd5ab95239edba0547c44371afda1ff7 /addons/website/data | |
| parent | 8b6985eeed0a15ec673d96299b3ed331c684e62d (diff) | |
[IMP] website, website_sale: add dynamic snippets
* Implement new snippets that allow the user to choose a filter
and a template.
Three snippets have been created:
- Dynamic Snippet: Displays the data in a grid format
- Dynamic Carousel: Displays the date in a carousel
- Dynamic Products: Let the user pick a product category and
displays the products in a carousel
task-2276740
PR #53175
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Diffstat (limited to 'addons/website/data')
| -rw-r--r-- | addons/website/data/website_data.xml | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/addons/website/data/website_data.xml b/addons/website/data/website_data.xml index b8462a17299..af1d1272ccb 100644 --- a/addons/website/data/website_data.xml +++ b/addons/website/data/website_data.xml @@ -698,6 +698,70 @@ <field name="type">url</field> <field name="url">/website/static/src/img/snippets_demo/s_popup.jpg</field> </record> + + <!-- Filter for Dynamic Snippet --> + <record id="dynamic_snippet_country_filter" model="ir.filters"> + <field name="name">Countries</field> + <field name="model_id">res.country</field> + <field name="user_id" eval="False" /> + </record> + <!-- Template for Dynamic Snippet --> + <template id="dynamic_filter_template_image_title_footer" name="Image Title Footer Card"> + <t t-foreach="records" t-as="record"> + <t t-set="fields" t-value="list(record['fields'].values())"/> + <t t-set="fieldsImg" t-value="list(record['image_fields'].values())"/> + <div class="card h-100" t-att-data-url="record['fields']['call_to_action_url']"> + <img t-if="len(fieldsImg) > 0" class="card-img-top p-3" loading="lazy" t-att-src="fieldsImg[0]"/> + <div class="card-body"> + <h5 t-if="len(fields) > 0" class="card-title"> + <t t-raw="fields[0]"/> + </h5> + <div t-if="len(fields) > 1" class="card-text"> + <t t-raw="fields[1]"/> + </div> + </div> + <div class="card-footer d-flex align-items-center"> + <div t-if="len(fields) > 2" class="card-text"> + <t t-raw="fields[2]"/> + </div> + <a t-if="call_to_action" class="btn btn-primary ml-auto" t-att-href="record['fields']['call_to_action_url']"> + <i class="fa fa-fw fa-eye"/> + </a> + </div> + </div> + </t> + </template> + <template id="dynamic_filter_template_header_image_footer_card" name="Header Image Footer Card"> + <t t-foreach="records" t-as="record"> + <t t-set="fields" t-value="list(record['fields'].values())"/> + <t t-set="fieldsImg" t-value="list(record['image_fields'].values())"/> + <div class="card h-100" t-att-data-url="record['fields']['call_to_action_url']"> + <h5 t-if="len(fields) > 0" class="card-header"> + <t t-raw="fields[0]"/> + </h5> + <div class="card-body"> + <img t-if="len(fieldsImg) > 0" class="card-img-top p-3" loading="lazy" t-att-src="fieldsImg[0]"/> + <div t-if="len(fields) > 1" class="card-text"> + <t t-raw="fields[1]"/> + </div> + </div> + <div class="card-footer d-flex align-items-center"> + <div t-if="len(fields) > 2" class="card-text"> + <t t-raw="fields[2]"/> + </div> + </div> + </div> + </t> + </template> + <!-- Dynamic Snippet Data Source --> + <record id="dynamic_snippet_data_source_country" model="website.snippet.filter"> + <field name="field_names">name,code,image,phone_code</field> + <field name="filter_id" ref="website.dynamic_snippet_country_filter"/> + <field name="limit" eval="16"/> + <field name="name">Countries</field> + <field name="website_id" ref="website.default_website"/> + </record> + </data> <data> <record id="group_multi_website" model="res.groups"> |
