diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/website_blog/views/snippets/s_latest_posts.xml | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/website_blog/views/snippets/s_latest_posts.xml')
| -rw-r--r-- | addons/website_blog/views/snippets/s_latest_posts.xml | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/addons/website_blog/views/snippets/s_latest_posts.xml b/addons/website_blog/views/snippets/s_latest_posts.xml new file mode 100644 index 00000000..01628c02 --- /dev/null +++ b/addons/website_blog/views/snippets/s_latest_posts.xml @@ -0,0 +1,148 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> +<!-- Snippet --> +<template id="s_latest_posts" name="Blog Posts"> + <section class="s_latest_posts pt16 pb16" data-vcss="001"> + <div class="container"> + <div class="row s_col_no_bgcolor s_nb_column_fixed js_get_posts s_latest_posts_big_picture s_latest_posts_effect_marley" + data-loading="true" + data-template="website_blog.s_latest_posts_big_picture_template" + data-filter-by-blog-id="0" + data-order="published_date desc"/> + </div> + </section> +</template> + +<!-- Load-time templates (rendered in JS on page load) --> +<!-- List layout --> +<template id="s_latest_posts_list_template"> + <div t-foreach="posts" t-as="p" class="d-flex col-12 mt-3 s_latest_posts_post"> + <a class="s_latest_posts_post_cover flex-grow-0 flex-shrink-0 align-self-baseline position-relative" t-attf-href="/blog/#{p.blog_id.id}/#{p.id}" t-att-title="'Read' + p.name"> + <t t-call="website.record_cover"> + <t t-set="_record" t-value="p"/> + <t t-set="additionnal_classes" t-value="'w-100 h-100 bg-200 position-absolute'"/> + + <div class="s_latest_posts_loader d-flex align-items-center justify-content-center bg-200"> + <div class="d-none rounded-circle bg-black-25 w-25 h-25"/> + </div> + </t> + </a> + <div class="pl-2"> + <a class="" t-att-title="'Read' + p.name" t-attf-href="/blog/#{p.blog_id.id}/#{p.id}"> + <div class="s_latest_posts_post_title mb-1" t-field="p.name"/> + </a> + <div class="s_latest_posts_post_subtitle mb-1 d-none d-sm-block" t-field="p.subtitle"/> + </div> + </div> +</template> +<!-- Big picture layout --> +<template id="s_latest_posts_big_picture_template"> + <figure t-foreach="posts" t-as="p" class="col-md-6 col-lg-4 my-3 s_latest_posts_post"> + <a class="s_latest_posts_post_cover position-relative d-flex flex-column shadow-sm overflow-hidden rounded text-decoration-none" t-attf-href="/blog/#{p.blog_id.id}/#{p.id}"> + <t t-call="website.record_cover"> + <t t-set="_record" t-value="p"/> + <t t-set="use_filters" t-value="True"/> + <t t-set="additionnal_classes" t-value="'h-100 w-100 bg-600 position-absolute'"/> + </t> + + <figcaption class="text-center w-100 h-100 px-3 d-flex flex-column flex-grow-1"> + <div class="s_latest_posts_post_title text-white" t-field="p.name"/> + <div class="s_latest_posts_post_subtitle text-white" t-field="p.subtitle"/> + </figcaption> + + <div class="s_latest_posts_loader d-flex align-items-center justify-content-center bg-200"> + <div class="d-none rounded-circle bg-black-25 w-25 h-25"/> + </div> + </a> + </figure> +</template> +<!-- Horizontal layout --> +<template id="s_latest_posts_horizontal_template"> + <figure t-foreach="posts" t-as="p" class="post s_latest_posts_post col-md-6 col-lg-4"> + <figcaption> + <h4 class="mb0"><a t-att-href="'/blog/%s/%s' % (p.blog_id.id, p.id)"><t t-esc="p.name"/></a></h4> + <h5 class="mt0 mb4" t-field="p.post_date" t-options='{"format": "dd/MM"}' /> + </figcaption> + <a t-att-href="'/blog/%s/%s' % (p.blog_id.id, p.id)"> + <t t-call="website.record_cover"> + <t t-set="_record" t-value="p"/> + <t t-set="additionnal_classes" t-value="'loading_container thumb'"/> + </t> + </a> + </figure> +</template> +<!-- Card layout --> +<template id="s_latest_posts_card_template"> + <div t-foreach="posts" t-as="p" class="col-md-6 col-lg-4 s_latest_posts_post pb32"> + <div class="card"> + <a class="s_latest_posts_post_cover" t-att-href="'/blog/%s/%s' % (p.blog_id.id, p.id)"> + <t t-call="website.record_cover"> + <t t-set="_record" t-value="p"/> + <t t-set="additionnal_classes" t-value="'loading_container thumb'"/> + </t> + </a> + <div class="card-body"> + <a t-att-href="'/blog/%s/%s' % (p.blog_id.id, p.id)"><h4 class="mb-0"><t t-esc="p.name"/></h4></a> + </div> + <div class="card-footer d-flex justify-content-between"> + <span class="text-muted mb-0" t-field="p.post_date" t-options='{"format": "MMM d, yyyy"}' /> + <span class="text-muted mb-0">In <a class="font-weight-bold" t-esc="p.blog_id.name" t-att-href="'/blog/%s' % (p.blog_id.id)" /></span> + </div> + </div> + </div> +</template> + +<!-- Options --> +<template id="s_latest_posts_options" inherit_id="website.snippet_options"> + <xpath expr="//div[@data-js='Box']" position="before"> + <div data-js="js_get_posts_selectBlog" data-selector=".s_latest_posts" data-target=".js_get_posts" data-no-check="true"> + <we-select string="Choose a blog" data-no-preview="true" name="blog_selection" data-attribute-name="filterByBlogId"> + <we-button data-select-data-attribute="0">All blogs</we-button> + <!-- the blog list will be generated in js --> + </we-select> + <we-select string="Posts" data-no-preview="true" data-attribute-name="order" class="o_we_inline"> + <we-button data-select-data-attribute="published_date desc">Latest</we-button> + <we-button data-select-data-attribute="visits desc">Most viewed</we-button> + </we-select> + <we-select string="Layout" data-attribute-name="template"> + <we-button data-select-data-attribute="website_blog.s_latest_posts_list_template" data-select-class="s_latest_posts_list">List</we-button> + <we-button data-select-data-attribute="website_blog.s_latest_posts_big_picture_template" + data-select-class="s_latest_posts_big_picture" + data-name="big_picture_opt">Big Pictures</we-button> + <we-button data-select-data-attribute="website_blog.s_latest_posts_horizontal_template" + data-select-class="s_latest_posts_horizontal">Horizontal</we-button> + <we-button data-select-data-attribute="website_blog.s_latest_posts_card_template" + data-select-class="s_latest_posts_card">Cards</we-button> + </we-select> + <we-select string="Hover effect" data-no-widget-refresh="true" data-dependencies="big_picture_opt" class="o_we_inline"> + <we-button data-select-class="">None</we-button> + <we-button data-select-class="s_latest_posts_effect_marley">Marley</we-button> + <we-button data-select-class="s_latest_posts_effect_dexter">Dexter</we-button> + <we-button data-select-class="s_latest_posts_effect_chico">Silly-Chico</we-button> + </we-select> + </div> + </xpath> + <xpath expr="//div[@data-js='layout_column']" position="attributes"> + <attribute name="data-exclude" add=".s_latest_posts, .s_latest_posts_big_picture" separator=","/> + </xpath> +</template> + +<!-- Assets --> +<template id="assets_snippet_s_latest_posts_css_000" inherit_id="website.assets_frontend" active="False"> + <xpath expr="//link[last()]" position="after"> + <link rel="stylesheet" type="text/scss" href="/website_blog/static/src/snippets/s_latest_posts/000.scss"/> + </xpath> +</template> +<template id="assets_snippet_s_latest_posts_css_001" inherit_id="website.assets_frontend"> + <xpath expr="//link[last()]" position="after"> + <link rel="stylesheet" type="text/scss" href="/website_blog/static/src/snippets/s_latest_posts/001.scss"/> + </xpath> +</template> + +<template id="assets_snippet_s_latest_posts_js_000" inherit_id="website.assets_frontend"> + <xpath expr="//script[last()]" position="after"> + <script type="text/javascript" src="/website_blog/static/src/snippets/s_latest_posts/000.js"/> + </xpath> +</template> + +</odoo> |
