📁 Détails du thème : theme_poissonnerie
🧬 Lancer la duplicationstatic/src/img
pour le thème theme_poissonnerie.
Cliquez sur une vignette pour voir l’image en taille réelle.
🧩 Snippets personnalisés
<?xml version="1.0" ?> <odoo> <template name="Media List" id="s_media_list"> <section class="s_media_list pt32 pb32 o_cc o_cc2" data-vcss="001"> <div class="container"> <div class="row s_nb_column_fixed s_col_no_bgcolor"> <div class="col-lg-12 s_media_list_item pt16 pb16" data-name="Media item"> <div class="row s_col_no_resize s_col_no_bgcolor g-0 align-items-center o_cc o_cc1"> <div class="col-lg-4 align-self-stretch s_media_list_img_wrapper"> <img src="/web/image/website.s_media_list_default_image_1" class="s_media_list_img h-100 w-100" alt=""/> </div> <div class="col-lg-8 s_media_list_body"> <h3>Media heading</h3> <p>Use this snippet to build various types of components that feature a left- or right-aligned image alongside textual content. Duplicate the element to create a list that fits your needs.</p> <a href="#" class="btn btn-primary mb-2">Discover</a> </div> </div> </div> <div class="col-lg-12 s_media_list_item pt16 pb16" data-name="Media item"> <div class="row s_col_no_resize s_col_no_bgcolor g-0 align-items-center o_cc o_cc1"> <div class="col-lg-4 align-self-stretch s_media_list_img_wrapper"> <img src="/web/image/website.s_media_list_default_image_2" class="s_media_list_img h-100 w-100" alt=""/> </div> <div class="col-lg-8 s_media_list_body"> <h3>Event heading</h3> <p>Speakers from all over the world will join our experts to give inspiring talks on various topics. Stay on top of the latest business management trends & technologies</p> </div> </div> </div> <div class="col-lg-12 s_media_list_item pt16 pb16" data-name="Media item"> <div class="row s_col_no_resize s_col_no_bgcolor g-0 align-items-center o_cc o_cc1"> <div class="col-lg-4 align-self-stretch s_media_list_img_wrapper"> <img src="/web/image/website.s_media_list_default_image_3" class="s_media_list_img h-100 w-100" alt=""/> </div> <div class="col-lg-8 s_media_list_body"> <h3>Post heading</h3> <p>Use this component for creating a list of featured elements to which you want to bring attention.</p> <a href="#"> Continue reading <i class="fa fa-long-arrow-right align-middle ms-1"/> </a> </div> </div> </div> </div> </div> </section> </template> <template id="s_media_list_options" inherit_id="website.snippet_options"> <xpath expr="//t[@t-call='website.snippet_options_background_options']" position="before"> <div data-js="MultipleItems" data-selector=".s_media_list"> <we-row string="Media"> <we-button data-add-item="" data-item=".s_media_list_item:last" data-select-item="" data-no-preview="true" class="o_we_bg_brand_primary"> Add Media </we-button> </we-row> </div> </xpath> <xpath expr="." position="inside"> <t t-call="website.snippet_options_background_options"> <t t-set="selector" t-value="'.s_media_list_item'"/> <t t-set="target" t-value="'> .row'"/> <t t-set="with_colors" t-value="True"/> <t t-set="with_images" t-value="False"/> <t t-set="with_color_combinations" t-value="True"/> <t t-set="with_gradients" t-value="True"/> </t> <div data-js="Box" data-selector=".s_media_list_item" data-target="> .row"> <t t-call="website.snippet_options_border_widgets"/> <t t-call="website.snippet_options_shadow_widgets"/> </div> <div data-selector=".s_media_list_item" data-target="> .row"> <we-button-group string="Layout"> <we-button title="Left" data-name="media_left_opt" data-select-class="" data-img="/website/static/src/img/snippets_options/image_left.svg"/> <we-button title="Right" data-select-class="flex-row-reverse" data-img="/website/static/src/img/snippets_options/image_right.svg"/> </we-button-group> </div> <div data-js="MediaItemLayout" data-selector=".s_media_list_item"> <we-button-group string="Image Size" data-dependencies="media_left_opt"> <we-button data-layout="3" data-img="/website/static/src/img/snippets_options/media_layout_1_4.svg" title="1/4 - 3/4"/> <we-button data-layout="4" data-img="/website/static/src/img/snippets_options/media_layout_1_3.svg" title="1/3 - 2/3"/> <we-button data-layout="6" data-img="/website/static/src/img/snippets_options/media_layout_1_2.svg" title="1/2 - 1/2"/> </we-button-group> <we-button-group string="Image Size" data-dependencies="!media_left_opt"> <we-button data-layout="3" data-img="/website/static/src/img/snippets_options/media_layout_1_4_right.svg" title="1/4 - 3/4"/> <we-button data-layout="4" data-img="/website/static/src/img/snippets_options/media_layout_1_3_right.svg" title="1/3 - 2/3"/> <we-button data-layout="6" data-img="/website/static/src/img/snippets_options/media_layout_1_2_right.svg" title="1/2 - 1/2"/> </we-button-group> </div> <div data-selector=".s_media_list_item" data-target="> .row"> <!-- Don't use the standard Vert. Alignement option to not suggest Equal Height, which is useless for this snippet. --> <we-button-group string="Text Position" title="Text Position" data-dependencies="media_left_opt"> <we-button title="Align Top" data-select-class="align-items-start" data-img="/website/static/src/img/snippets_options/align_top_right.svg"/> <we-button title="Align Middle" data-select-class="align-items-center" data-img="/website/static/src/img/snippets_options/align_middle_right.svg"/> <we-button title="Align Bottom" data-select-class="align-items-end" data-img="/website/static/src/img/snippets_options/align_bottom_right.svg"/> </we-button-group> <we-button-group string="Text Position" title="Text Position" data-dependencies="!media_left_opt"> <we-button title="Align Top" data-select-class="align-items-start" data-img="/website/static/src/img/snippets_options/align_top.svg"/> <we-button title="Align Middle" data-select-class="align-items-center" data-img="/website/static/src/img/snippets_options/align_middle.svg"/> <we-button title="Align Bottom" data-select-class="align-items-end" data-img="/website/static/src/img/snippets_options/align_bottom.svg"/> </we-button-group> </div> </xpath> </template> <record id="website.s_media_list_000_scss" model="ir.asset"> <field name="name">Media list 000 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_media_list/000.scss</field> <field name="active" eval="False"/> </record> <record id="website.s_media_list_001_scss" model="ir.asset"> <field name="name">Media list 001 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_media_list/001.scss</field> </record> </odoo>
<?xml version="1.0" ?> <odoo> <template name="Items" id="s_product_list"> <t t-set="url" value="url or '#'"/> <section class="s_product_list"> <div class="container-fluid"> <div class="row"> <div class="col-lg-2 col-md-4 col-6"> <a t-att-href="url"> <img src="/web/image/website.s_product_list_default_image_1" alt="" class="img img-fluid"/> </a> <div class="s_product_list_item_link"> <a t-att-href="url" class="btn btn-primary">Furniture</a> </div> </div> <div class="col-lg-2 col-md-4 col-6"> <a t-att-href="url"> <img src="/web/image/website.s_product_list_default_image_2" alt="" class="img img-fluid"/> </a> <div class="s_product_list_item_link"> <a t-att-href="url" class="btn btn-primary">Clothes</a> </div> </div> <div class="col-lg-2 col-md-4 col-6"> <a t-att-href="url"> <img src="/web/image/website.s_product_list_default_image_3" alt="" class="img img-fluid"/> </a> <div class="s_product_list_item_link"> <a t-att-href="url" class="btn btn-primary">Books</a> </div> </div> <div class="col-lg-2 col-md-4 col-6"> <a t-att-href="url"> <img src="/web/image/website.s_product_list_default_image_4" alt="" class="img img-fluid"/> </a> <div class="s_product_list_item_link"> <a t-att-href="url" class="btn btn-primary">Essential oils</a> </div> </div> <div class="col-lg-2 col-md-4 col-6"> <a t-att-href="url"> <img src="/web/image/website.s_product_list_default_image_5" alt="" class="img img-fluid"/> </a> <div class="s_product_list_item_link"> <a t-att-href="url" class="btn btn-primary">Service</a> </div> </div> <div class="col-lg-2 col-md-4 col-6"> <a t-att-href="url"> <img src="/web/image/website.s_product_list_default_image_6" alt="" class="img img-fluid"/> </a> <div class="s_product_list_item_link"> <a t-att-href="url" class="btn btn-primary">Multimedia</a> </div> </div> </div> </div> </section> </template> <record id="website.s_product_list_000_variables_scss" model="ir.asset"> <field name="name">Product list 000 variables SCSS</field> <field name="bundle">web._assets_primary_variables</field> <field name="path">website/static/src/snippets/s_product_list/000_variables.scss</field> </record> <record id="website.s_product_list_000_scss" model="ir.asset"> <field name="name">Product list 000 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_product_list/000.scss</field> </record> </odoo>
<?xml version="1.0" ?> <odoo> <template id="s_text_block" name="Text"> <section class="s_text_block pt40 pb40"> <div class="container s_allow_columns"> <p> Great stories have a <b>personality</b> . Consider telling a great story that provides personality. Writing a story with personality for potential clients will assist with making a relationship connection. This shows up in small quirks like word choices or phrases. Write from your point of view, not from someone else's experience. </p> <p> Great stories are <b>for everyone</b> even when only written <b>for just one person</b> . If you try to write with a wide, general audience in mind, your story will sound fake and lack emotion. No one will be interested. Write for one person. If it’s genuine for the one, it’s genuine for the rest. </p> </div> </section> </template> </odoo>
<?xml version="1.0" ?> <odoo> <template id="s_three_columns_moulat_lhout" inherit_id="website.s_three_columns" name="Moulat Lhout – 3 colonnes"> <!-- Première colonne --> <xpath expr="//div[hasclass('col-lg-4')][1]" position="replace"> <div class="col-lg-4 text-center"> <img src="/theme_poissonnerie/static/src/img/moulatlhout_boutique-02.jpg" class="img-fluid rounded mb-3" alt="Notre boutique Moulat Lhout"/> <h4 class="fw-bold">Notre Boutique</h4> <p>Un espace accueillant où tradition et fraîcheur se rencontrent pour offrir le meilleur des produits de la mer.</p> </div> </xpath> <!-- Deuxième colonne --> <xpath expr="//div[hasclass('col-lg-4')][2]" position="replace"> <div class="col-lg-4 text-center"> <img src="/theme_poissonnerie/static/src/img/fatiha_boutique-02.jpg" class="img-fluid rounded mb-3" alt="Notre Bastila maison"/> <h4 class="fw-bold">Bastila aux fruits de mer</h4> <p>Une bastila délicatement feuilletée, garnie de fruits de mer frais et parfumée aux épices marocaines : un vrai régal.</p> </div> </xpath> <!-- Troisième colonne --> <xpath expr="//div[hasclass('col-lg-4')][3]" position="replace"> <div class="col-lg-4 text-center"> <img src="/theme_poissonnerie/static/src/img/fatiha_houta-01.jpg" class="img-fluid rounded mb-3" alt="Poisson frais Moulat Lhout"/> <h4 class="fw-bold">Poissons Frais</h4> <p>Chaque jour, une sélection des meilleurs poissons fraîchement débarqués pour satisfaire toutes vos envies marines.</p> </div> </xpath> </template> <record id="website.s_three_columns_000_scss" model="ir.asset"> <field name="name">Three columns 000 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_three_columns/000.scss</field> <field name="active" eval="False"/> </record> </odoo>
<?xml version="1.0" ?> <odoo> <template id="s_product_catalog" name="Pricelist"> <section class="s_product_catalog oe_img_bg o_bg_img_center oe_custom_bg pt48 pb32" style="background-image: url('/web/image/website.s_product_catalog_default_image');" data-vcss="001"> <div class="container"> <h2>Menu</h2> <p>Add a menu description.</p> <div class="row"> <div class="col-lg-6 pt16 pb16"> <h3>Starter</h3> <ul class="list-unstyled my-3"> <t t-call="website.s_product_catalog_dish"> <t t-set="name">Cheese Onion Rings</t> <t t-set="price">$9.00</t> </t> <t t-call="website.s_product_catalog_dish"> <t t-set="name">Chefs Fresh Soup of the Day</t> <t t-set="price">$7.50</t> </t> <t t-call="website.s_product_catalog_dish"> <t t-set="name">Beef Carpaccio</t> <t t-set="price">$10.50</t> </t> </ul> </div> <div class="col-lg-6 pt16 pb16"> <h3>Main Course</h3> <ul class="list-unstyled my-3"> <t t-call="website.s_product_catalog_dish"> <t t-set="name">Filet Mignon 8oz</t> <t t-set="price">$15.50</t> </t> <t t-call="website.s_product_catalog_dish"> <t t-set="name">Farm Friendly Chicken Supreme</t> <t t-set="price">$15.50</t> </t> <t t-call="website.s_product_catalog_dish"> <t t-set="name">Tuna and Salmon Burger</t> <t t-set="price">$12.00</t> </t> </ul> </div> </div> </div> </section> </template> <template id="s_product_catalog_dish"> <li class="s_product_catalog_dish" data-name="Product"> <p class="s_product_catalog_dish_title d-flex align-items-baseline pb-2"> <span t-esc="name" class="s_product_catalog_dish_name s_product_catalog_dish_dot_leaders"/> <span t-esc="price" class="s_product_catalog_dish_price ms-auto ps-2"/> </p> </li> </template> <template id="s_product_catalog_add_product_widget"> <we-row string="Product"> <we-button data-add-item="" data-item=".s_product_catalog_dish:last" data-select-item="" t-att-data-apply-to="apply_to" data-no-preview="true" class="o_we_bg_brand_primary"> Add Product </we-button> </we-row> </template> <template id="s_product_catalog_options" inherit_id="website.snippet_options"> <xpath expr="//t[@t-call='website.snippet_options_background_options']" position="before"> <div data-js="MultipleItems" data-selector=".s_product_catalog"> <t t-call="website.s_product_catalog_add_product_widget"> <t t-set="apply_to" t-valuef="> :has(.s_product_catalog_dish):not(:has(.row > div:has(.s_product_catalog_dish)))"/> </t> </div> <div data-js="MultipleItems" data-selector=".s_product_catalog .row > div"> <t t-call="website.s_product_catalog_add_product_widget"> <t t-set="apply_to" t-valuef="> :has(.s_product_catalog_dish)"/> </t> </div> </xpath> <xpath expr="." position="inside"> <div data-js="ProductCatalog" data-selector=".s_product_catalog"> <we-checkbox string="Descriptions" data-toggle-description="true" data-no-preview="true"/> <t t-call="website.snippet_options_border_line_widgets"> <t t-set="label">⌙ Separator</t> <t t-set="direction" t-value="'top'"/> <t t-set="apply_to" t-value="'.s_product_catalog_dish_description'"/> <!-- Note: no need of extra dependency thanks to the apply-to --> </t> </div> <div data-selector=".s_product_catalog_dish" data-drop-near=".s_product_catalog_dish"/> </xpath> <xpath expr="//div[@data-js='SnippetMove']" position="attributes"> <attribute name="data-selector" add=".s_product_catalog_dish" separator=","/> </xpath> </template> <record id="website.s_product_catalog_001_scss" model="ir.asset"> <field name="name">Product catalog 001 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_product_catalog/001.scss</field> </record> </odoo>
Menu
Ajoutez une description de menu.
Entrée
-
Rondelles d'oignon au fromage $9.00
-
Soupe fraîche du jour du chef $7.50
-
Carpaccio de bœuf $10.50
Plat principal
-
Filet mignon 800 g $15.50
-
Poulet suprême de ferme $15.50
-
Burger au thon et au saumon $12.00
<?xml version="1.0" ?> <odoo> <template name="Numbers" id="s_numbers"> <section class="s_numbers o_cc o_cc2 pt24 pb24"> <div class="container"> <div class="row"> <div class="col-lg-3 text-center pt24 pb24"> <span class="s_number display-4">12</span> <h6>Useful options</h6> </div> <div class="col-lg-3 text-center pt24 pb24"> <span class="s_number display-4">45</span> <h6>Beautiful snippets</h6> </div> <div class="col-lg-3 text-center pt24 pb24"> <span class="s_number display-4">8</span> <h6>Amazing pages</h6> </div> <div class="col-lg-3 text-center pt24 pb24"> <span class="s_number display-4">37</span> <h6>Outstanding images</h6> </div> </div> </div> </section> </template> <!-- No associated CSS but there is some in theme overrides --> </odoo>
S Numbers
<?xml version="1.0" ?> <odoo> <!-- TODO in master: remove contenteditable="true" from <img> tags. Those were part of a stable fix to allow re-editing, now superseded by the use of the o_editable_media class. --> <template id="s_company_team" name="Team"> <section class="s_company_team pt48 pb48"> <div class="container"> <div class="row s_nb_column_fixed"> <div class="col-lg-6 pt24 pb24"> <div class="row s_col_no_resize s_col_no_bgcolor"> <div class="col-lg-4 pb16 o_not_editable" contenteditable="false"> <img alt="" src="/web/image/website.s_company_team_image_1" class="img-fluid rounded-circle mx-auto o_editable_media" contenteditable="true"/> </div> <div class="col-lg-8"> <h4>Tony Fred, CEO</h4> <p> Founder and chief visionary, Tony is the driving force behind the company. He loves to keep his hands full by participating in the development of the software, marketing, and customer experience strategies. </p> </div> </div> </div> <div class="col-lg-6 pt24 pb24"> <div class="row s_col_no_resize s_col_no_bgcolor"> <div class="col-lg-4 pb16 o_not_editable" contenteditable="false"> <img alt="" src="/web/image/website.s_company_team_image_2" class="img-fluid rounded-circle mx-auto o_editable_media" contenteditable="true"/> </div> <div class="col-lg-8"> <h4>Mich Stark, COO</h4> <p>Mich loves taking on challenges. With his multi-year experience as Commercial Director in the software industry, Mich has helped the company to get where it is today. Mich is among the best minds.</p> </div> </div> </div> <div class="col-lg-6 pt24 pb24"> <div class="row s_col_no_resize s_col_no_bgcolor"> <div class="col-lg-4 pb16 o_not_editable" contenteditable="false"> <img alt="" src="/web/image/website.s_company_team_image_3" class="img-fluid rounded-circle mx-auto o_editable_media" contenteditable="true"/> </div> <div class="col-lg-8"> <h4>Aline Turner, CTO</h4> <p>Aline is one of the iconic people in life who can say they love what they do. She mentors 100+ in-house developers and looks after the community of thousands of developers.</p> </div> </div> </div> <div class="col-lg-6 pt24 pb24"> <div class="row s_col_no_resize s_col_no_bgcolor"> <div class="col-lg-4 pb16 o_not_editable" contenteditable="false"> <img alt="" src="/web/image/website.s_company_team_image_4" class="img-fluid rounded-circle mx-auto o_editable_media" contenteditable="true"/> </div> <div class="col-lg-8"> <h4>Iris Joe, CFO</h4> <p>Iris, with her international experience, helps us easily understand the numbers and improves them. She is determined to drive success and delivers her professional acumen to bring the company to the next level.</p> </div> </div> </div> </div> </div> </section> </template> <record id="website.s_company_team_000_scss" model="ir.asset"> <field name="name">Company team 000 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_company_team/000.scss</field> </record> </odoo>
<?xml version="1.0" ?> <odoo> <template id="s_title" name="Title"> <section class="s_title pt40 pb40" data-vcss="001"> <div class="container s_allow_columns"> <h1 style="text-align: center;"> <font style="font-size: 62px;">Your Site Title</font> </h1> </div> </section> </template> <record id="website.s_title_000_scss" model="ir.asset"> <field name="name">Title 000 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_title/000.scss</field> <field name="active" eval="False"/> </record> </odoo>
<?xml version="1.0" ?> <odoo> <template id="s_image_text" name="Image - Text"> <section class="s_text_image pt32 pb32"> <div class="container"> <div class="row align-items-center"> <div class="col-lg-6 pt16 pb16"> <img src="/web/image/website.s_image_text_default_image" class="img img-fluid mx-auto" alt=""/> </div> <div class="col-lg-6 pt16 pb16"> <h2>Section Subtitle</h2> <p>Write one or two paragraphs describing your product or services. To be successful your content needs to be useful to your readers.</p> <p>Start with the customer – find out what they want and give it to them.</p> <p> <a href="#" class="btn btn-primary mb-2">Discover more</a> </p> </div> </div> </div> </section> </template> </odoo>
<?xml version="1.0" ?> <odoo> <template id="s_cover" name="Cover"> <section class="s_cover parallax s_parallax_is_fixed bg-black-50 pt96 pb96" data-scroll-background-ratio="1"> <span class="s_parallax_bg oe_img_bg" style="background-image: url('/web/image/website.s_cover_default_image'); background-position: 50% 0;"/> <div class="o_we_bg_filter bg-black-50"/> <div class="container s_allow_columns"> <h1 style="text-align: center;"> <font style="font-size: 62px; font-weight: bold;">Catchy Headline</font> </h1> <p class="lead" style="text-align: center;"> Write one or two paragraphs describing your product, services or a specific feature. <br/> To be successful your content needs to be useful to your readers. </p> <p style="text-align: center;"> <a t-att-href="cta_btn_href" class="btn btn-primary mb-2"> <t t-esc="cta_btn_text">Contact us</t> </a> </p> </div> </section> </template> </odoo>
<?xml version="1.0" ?> <odoo> <template id="s_quotes_carousel" name="Quotes"> <section class="s_quotes_carousel_wrapper" data-vxml="001" data-vcss="001"> <t t-set="uniq" t-value="datetime.datetime.now().microsecond"/> <div t-attf-id="myQuoteCarousel{{uniq}}" class="s_quotes_carousel s_carousel_default carousel slide o_cc o_cc2" data-bs-interval="10000"> <!-- Indicators --> <ol class="carousel-indicators"> <li t-attf-data-bs-target="#myQuoteCarousel{{uniq}}" data-bs-slide-to="0" class="active"/> <li t-attf-data-bs-target="#myQuoteCarousel{{uniq}}" data-bs-slide-to="1"/> <li t-attf-data-bs-target="#myQuoteCarousel{{uniq}}" data-bs-slide-to="2"/> </ol> <!-- Content --> <div class="carousel-inner"> <!-- #01 --> <div class="carousel-item active oe_img_bg o_bg_img_center pt80 pb80" style="background-image: url('/web/image/website.s_quotes_carousel_demo_image_0'); background-position: 50% 50%;" data-name="Slide"> <div class="container"> <blockquote class="s_blockquote s_blockquote_classic blockquote mx-auto w-50" data-name="Blockquote"> <i class="fa fa-1x fa-quote-left rounded float-start bg-o-color-2 s_blockquote_icon"/> <div class="s_blockquote_content o_cc1"> <p>Write a quote here from one of your customers. Quotes are a great way to build confidence in your products or services.</p> <footer class="blockquote-footer"> <img src="/web/image/website.s_quotes_carousel_demo_image_3" class="s_blockquote_avatar img rounded-circle me-2" alt=""/> <span class="s_blockquote_author"> <b>Jane DOE</b> • CEO of MyCompany </span> </footer> </div> </blockquote> </div> </div> <!-- #02 --> <div class="carousel-item oe_img_bg o_bg_img_center pt80 pb80" style="background-image: url('/web/image/website.s_quotes_carousel_demo_image_1'); background-position: 50% 50%;" data-name="Slide"> <div class="container"> <blockquote class="s_blockquote s_blockquote_classic blockquote me-auto w-50" data-name="Blockquote"> <i class="fa fa-1x fa-quote-left rounded float-start bg-o-color-2 s_blockquote_icon"/> <div class="s_blockquote_content o_cc1"> <p>Write a quote here from one of your customers. Quotes are a great way to build confidence in your products or services.</p> <footer class="blockquote-footer"> <img src="/web/image/website.s_quotes_carousel_demo_image_4" class="s_blockquote_avatar img rounded-circle me-2" alt=""/> <span class="s_blockquote_author"> <b>John DOE</b> • CEO of MyCompany </span> </footer> </div> </blockquote> </div> </div> <!-- #03 --> <div class="carousel-item oe_img_bg o_bg_img_center pt80 pb80" style="background-image: url('/web/image/website.s_quotes_carousel_demo_image_2'); background-position: 50% 50%;" data-name="Slide"> <div class="container"> <blockquote class="s_blockquote s_blockquote_classic blockquote ms-auto w-50" data-name="Blockquote"> <i class="fa fa-1x fa-quote-left rounded float-start bg-o-color-2 s_blockquote_icon"/> <div class="s_blockquote_content o_cc1"> <p>Write a quote here from one of your customers. Quotes are a great way to build confidence in your products or services.</p> <footer class="blockquote-footer"> <img src="/web/image/website.s_quotes_carousel_demo_image_5" class="s_blockquote_avatar img rounded-circle me-2" alt=""/> <span class="s_blockquote_author"> <b>Iris DOE</b> • CEO of MyCompany </span> </footer> </div> </blockquote> </div> </div> </div> <!-- Controls --> <div class="carousel-control-prev o_not_editable" t-attf-data-bs-target="#myQuoteCarousel{{uniq}}" data-bs-slide="prev" role="img" aria-label="Previous" title="Previous"> <span class="carousel-control-prev-icon"/> <span class="visually-hidden">Previous</span> </div> <div class="carousel-control-next o_not_editable" t-attf-data-bs-target="#myQuoteCarousel{{uniq}}" data-bs-slide="next" role="img" aria-label="Next" title="Next"> <span class="carousel-control-next-icon"/> <span class="visually-hidden">Next</span> </div> </div> </section> </template> <record id="website.s_quotes_carousel_000_scss" model="ir.asset"> <field name="name">Quotes carousel 000 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_quotes_carousel/000.scss</field> <field name="active" eval="False"/> </record> <record id="website.s_quotes_carousel_001_scss" model="ir.asset"> <field name="name">Quotes carousel 001 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_quotes_carousel/001.scss</field> </record> </odoo>
<?xml version="1.0" ?> <odoo> <template id="s_comparisons" name="Comparisons"> <section class="s_comparisons pt32 pb32"> <div class="container"> <div class="row"> <div class="col-lg-4 s_col_no_bgcolor text-center pt32 pb16" data-name="Box"> <div class="card bg-200"> <h4 class="card-header">Beginner</h4> <div class="card-body text-center"> <h2 class="card-title"> <span class="s_comparisons_currency">$</span> <span class="s_comparisons_price"> <b>35</b> </span> <span class="s_comparisons_decimal">.00</span> </h2> <small>/ month</small> </div> <ul class="list-group list-group-flush"> <li class="list-group-item">Basic sales & marketing for up to 2 users</li> <li class="list-group-item">Account & Sales management</li> <li class="list-group-item">No customization</li> <li class="list-group-item">No support</li> </ul> <div class="card-footer"> <p> <i>Instant setup, satisfied or reimbursed.</i> </p> <a href="/contactus" class="btn btn-primary mb-2">Order now</a> </div> </div> </div> <div class="col-lg-4 s_col_no_bgcolor text-center pt32 pb16" data-name="Box"> <div class="card bg-o-color-5"> <h4 class="card-header">Professional</h4> <div class="card-body"> <h2 class="card-title"> <span class="s_comparisons_currency">$</span> <span class="s_comparisons_price"> <b>65</b> </span> <span class="s_comparisons_decimal">.00</span> </h2> <small>/ month</small> </div> <ul class="list-group list-group-flush"> <li class="list-group-item">Complete CRM for any size team</li> <li class="list-group-item">Get access to all modules</li> <li class="list-group-item">Limited customization</li> <li class="list-group-item">Email support</li> </ul> <div class="card-footer"> <p> <i>Instant setup, satisfied or reimbursed.</i> </p> <a href="/contactus" class="btn btn-primary mb-2">Start now</a> </div> </div> </div> <div class="col-lg-4 s_col_no_bgcolor text-center pt32 pb16" data-name="Box"> <div class="card bg-secondary"> <h4 class="card-header">Expert</h4> <div class="card-body text-center"> <h2 class="card-title"> <span class="s_comparisons_currency">$</span> <span class="s_comparisons_price"> <b>125</b> </span> <span class="s_comparisons_decimal">.00</span> </h2> <small>/ month</small> </div> <ul class="list-group list-group-flush"> <li class="list-group-item">Unlimited CRM power and support</li> <li class="list-group-item">Get access to all modules and features</li> <li class="list-group-item">Unlimited customization</li> <li class="list-group-item">24x7 toll-free support</li> </ul> <div class="card-footer"> <p> <i>Instant setup, satisfied or reimbursed.</i> </p> <a href="/contactus" class="btn btn-primary mb-2">Contact us</a> </div> </div> </div> </div> </div> </section> </template> <record id="website.s_comparisons_000_scss" model="ir.asset"> <field name="name">Comparisons 000 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_comparisons/000.scss</field> </record> </odoo>
<?xml version="1.0" ?> <odoo> <!-- Template --> <template name="Showcase" id="s_showcase"> <section class="s_showcase pt48 pb48" data-vcss="002"> <div class="container"> <div class="row g-0 s_col_no_resize s_col_no_bgcolor s_nb_column_fixed"> <div class="col-lg text-lg-end"> <div class="row"> <div class="col-lg-12 pt24 pb24" data-name="Block"> <div class="s_showcase_title d-flex flex-lg-row-reverse mb-2"> <i class="s_showcase_icon fa fa-2x fa-desktop text-secondary me-3 me-lg-0 ms-lg-3"/> <h3>First feature</h3> </div> <p>A short description of this great feature.</p> </div> <div class="col-lg-12 pt24 pb24" data-name="Block"> <div class="s_showcase_title d-flex flex-lg-row-reverse mb-2"> <i class="s_showcase_icon fa fa-2x fa-paint-brush text-secondary me-3 me-lg-0 ms-lg-3"/> <h3>Second feature</h3> </div> <p>A short description of this great feature.</p> </div> </div> </div> <div class="col-1"> <div class="w-50 h-100 border-end"/> </div> <div class="col-lg"> <div class="row"> <div class="col-lg-12 pt24 pb24" data-name="Block"> <div class="s_showcase_title d-flex mb-2"> <i class="s_showcase_icon fa fa-2x fa-heart text-secondary me-3"/> <h3>Another feature</h3> </div> <p>A short description of this great feature.</p> </div> <div class="col-lg-12 pt24 pb24" data-name="Block"> <div class="s_showcase_title d-flex mb-2"> <i class="s_showcase_icon fa fa-2x fa-gift text-secondary me-3"/> <h3>Last Feature</h3> </div> <p>A short description of this great feature.</p> </div> </div> </div> </div> </div> <div class="container text-lg-center"> <p> <br/> </p> <a href="#" class="btn btn-primary mb-2">Discover all the features</a> </div> </section> </template> <!-- Options --> <template id="s_showcase_options" inherit_id="website.snippet_options"> <xpath expr="//div[@data-js='Box']" position="before"> <div data-js="Showcase" data-selector=".s_showcase .row > div:has(> .s_showcase_title)"/> </xpath> </template> <!-- Assets --> <record id="website.s_showcase_000_scss" model="ir.asset"> <field name="name">Showcase 000 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_showcase/000.scss</field> <field name="active" eval="False"/> </record> <record id="website.s_showcase_001_scss" model="ir.asset"> <field name="name">Showcase 001 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_showcase/001.scss</field> <field name="active" eval="False"/> </record> <record id="website.s_showcase_002_scss" model="ir.asset"> <field name="name">Showcase 002 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_showcase/002.scss</field> </record> </odoo>
<?xml version="1.0" ?> <odoo> <template id="s_parallax" name="Parallax"> <section class="s_parallax parallax s_parallax_is_fixed bg-black-50 o_half_screen_height" data-scroll-background-ratio="1"> <span class="s_parallax_bg oe_img_bg" style="background-image: url('/web/image/website.s_parallax_default_image'); background-position: 50% 75%;"/> <div class="o_we_bg_filter bg-black-50"/> <div class="oe_structure oe_empty"/> </section> </template> </odoo>
<?xml version="1.0" ?> <odoo> <template id="s_features_grid" name="Features Grid"> <section class="s_features_grid pt48 pb24"> <div class="container"> <div class="row"> <div class="col-lg-6 s_col_no_bgcolor pb24"> <div class="row"> <div class="col-lg-12 pb24" data-name="Box"> <h2>First list of Features</h2> <h5>Add a great slogan.</h5> </div> <div class="col-lg-12 pt16 pb16" data-name="Box"> <i class="fa fa-2x fa-font-awesome rounded-circle bg-primary s_features_grid_icon"/> <div class="s_features_grid_content"> <h4>Change Icons</h4> <p>Double click an icon to replace it with one of your choice.</p> </div> </div> <div class="col-lg-12 pt16 pb16" data-name="Box"> <i class="fa fa-2x fa-files-o rounded-circle bg-primary s_features_grid_icon"/> <div class="s_features_grid_content"> <h4>Duplicate</h4> <p>Duplicate blocks and columns to add more features.</p> </div> </div> <div class="col-lg-12 pt16 pb16" data-name="Box"> <i class="fa fa-2x fa-trash rounded-circle bg-primary s_features_grid_icon"/> <div class="s_features_grid_content"> <h4>Delete Blocks</h4> <p>Select and delete blocks to remove features.</p> </div> </div> </div> </div> <div class="col-lg-6 s_col_no_bgcolor pb24"> <div class="row"> <div class="col-lg-12 pb24" data-name="Box"> <h2>Second list of Features</h2> <h5>Add a great slogan.</h5> </div> <div class="col-lg-12 pt16 pb16" data-name="Box"> <i class="fa fa-2x fa-magic rounded bg-secondary s_features_grid_icon"/> <div class="s_features_grid_content"> <h4>Great Value</h4> <p>Turn every feature into a benefit for your reader.</p> </div> </div> <div class="col-lg-12 pt16 pb16" data-name="Box"> <i class="fa fa-2x fa-eyedropper rounded bg-secondary s_features_grid_icon"/> <div class="s_features_grid_content"> <h4>Edit Styles</h4> <p>You can edit colors and backgrounds to highlight features.</p> </div> </div> <div class="col-lg-12 pt16 pb16" data-name="Box"> <i class="fa fa-2x fa-picture-o rounded bg-secondary s_features_grid_icon"/> <div class="s_features_grid_content"> <h4>Sample Icons</h4> <p>All these icons are completely free for commercial use.</p> </div> </div> </div> </div> </div> </div> </section> </template> <record id="website.s_features_grid_000_scss" model="ir.asset"> <field name="name">Features grid 000 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_features_grid/000.scss</field> </record> </odoo>
Première liste de Fonctionnalités
Ajoutez un super slogan.
Modifier les icônes
Double-cliquez sur une icône pour la remplacer par une de votre choix.
Dupliquer
Dupliquez les blocs et les colonnes pour ajouter plus de fonctionnalités.
Supprimer des blocs
Sélectionnez et supprimez des blocs pour enlever des fonctionnalités.
Deuxième liste de fonctionnalités
Ajoutez un super slogan.
Excellent rapport qualité-prix
Transformez chaque fonctionnalité en bénéfice pour votre lecteur.
Editer les styles
Vous pouvez modifier les couleurs et les arrière-plans pour mettre en évidence les fonctionnalités.
Exemples d'icônes
Toutes ces icônes peuvent être utilisées gratuitement dans le cadre d'une utilisation commerciale.
<?xml version="1.0" ?> <odoo> <template id="s_text_image" name="Text - Image"> <section class="s_text_image pt32 pb32"> <div class="container"> <div class="row align-items-center"> <div class="col-lg-6 pt16 pb16"> <h2>A Section Subtitle</h2> <p>Write one or two paragraphs describing your product or services. To be successful your content needs to be useful to your readers.</p> <p>Start with the customer – find out what they want and give it to them.</p> <p> <a href="#" class="btn btn-primary mb-2">Learn more</a> </p> </div> <div class="col-lg-6 pt16 pb16"> <img src="/web/image/website.s_text_image_default_image" class="img img-fluid mx-auto" alt=""/> </div> </div> </div> </section> </template> </odoo>
<?xml version="1.0" ?> <odoo> <template id="s_image_gallery" name="Image Gallery"> <section class="s_image_gallery o_slideshow s_image_gallery_show_indicators s_image_gallery_indicators_rounded pt24" data-vcss="001" data-columns="3" style="height: 500px; overflow: hidden;"> <div class="container"> <div id="slideshow_sample" class="carousel slide" data-bs-ride="carousel" data-bs-interval="0" style="margin: 0 12px;"> <div class="carousel-inner" style="padding: 0;"> <div class="carousel-item active"> <img class="img img-fluid d-block" src="/web/image/website.library_image_08" data-name="Image" data-index="0"/> </div> <div class="carousel-item"> <img class="img img-fluid d-block" src="/web/image/website.library_image_03" data-name="Image" data-index="1"/> </div> <div class="carousel-item"> <img class="img img-fluid d-block" src="/web/image/website.library_image_02" data-name="Image" data-index="2"/> </div> </div> <ul class="carousel-indicators"> <li class="o_indicators_left text-center d-none" aria-label="Previous" title="Previous"> <i class="fa fa-chevron-left"/> </li> <li data-bs-target="#slideshow_sample" data-bs-slide-to="0" style="background-image: url(/web/image/website.library_image_08)" class="active"/> <li data-bs-target="#slideshow_sample" data-bs-slide-to="1" style="background-image: url(/web/image/website.library_image_03)"/> <li data-bs-target="#slideshow_sample" data-bs-slide-to="2" style="background-image: url(/web/image/website.library_image_02)"/> <li class="o_indicators_right text-center d-none" aria-label="Next" title="Next"> <i class="fa fa-chevron-right"/> </li> </ul> <a class="carousel-control-prev o_we_no_overlay o_not_editable" href="#slideshow_sample" data-bs-slide="prev" aria-label="Previous" title="Previous"> <span class="fa fa-chevron-left fa-2x text-white"/> <span class="visually-hidden">Previous</span> </a> <a class="carousel-control-next o_we_no_overlay o_not_editable" href="#slideshow_sample" data-bs-slide="next" aria-label="Next" title="Next"> <span class="fa fa-chevron-right fa-2x text-white"/> <span class="visually-hidden">Next</span> </a> </div> </div> </section> </template> <template id="s_images_wall" name="Images Wall"> <section class="s_image_gallery o_spc-small o_masonry pt24 pb24" data-vcss="001" data-columns="3" style="overflow: hidden;"> <div class="container"> <div class="row s_nb_column_fixed"> <div class="o_masonry_col o_snippet_not_selectable col-lg-4"> <img class="img img-fluid d-block" src="/web/image/website.library_image_03" data-index="0" data-name="Image"/> <img class="img img-fluid d-block" src="/web/image/website.library_image_10" data-index="3" data-name="Image"/> </div> <div class="o_masonry_col o_snippet_not_selectable col-lg-4"> <img class="img img-fluid d-block" src="/web/image/website.library_image_13" data-index="1" data-name="Image"/> <img class="img img-fluid d-block" src="/web/image/website.library_image_05" data-index="4" data-name="Image"/> </div> <div class="o_masonry_col o_snippet_not_selectable col-lg-4"> <img class="img img-fluid d-block" src="/web/image/website.library_image_14" data-index="2" data-name="Image"/> <img class="img img-fluid d-block" src="/web/image/website.library_image_16" data-index="5" data-name="Image"/> </div> </div> </div> </section> </template> <template id="s_image_gallery_options" inherit_id="website.snippet_options"> <xpath expr="//t[@t-call='website.snippet_options_background_options']" position="before"> <div data-js="gallery" data-selector=".s_image_gallery"> <we-row string="Images"> <we-button class="o_we_bg_success" data-add-images="true" data-no-preview="true">Add</we-button> <we-button class="o_we_bg_danger" data-remove-all-images="true" data-no-preview="true">Remove all</we-button> </we-row> </div> </xpath> <xpath expr="." position="inside"> <div data-js="gallery" data-selector=".s_image_gallery"> <we-select string="Mode" data-dependencies="!slideshow_mode_opt"> <we-button data-mode="grid" data-name="grid_mode_opt">Grid</we-button> <we-button data-mode="masonry" data-name="masonry_mode_opt">Masonry</we-button> <we-button data-mode="nomode">Float</we-button> <!-- Hidden option --> <we-button data-mode="slideshow" data-name="slideshow_mode_opt">Slideshow</we-button> </we-select> <!-- TODO adapt in master: this was patched in JS to replace data-attribute-name="interval" by data-attribute-name="bsInterval" in order to be consistent with Bootstrap 5. --> <we-input string="Speed" data-dependencies="slideshow_mode_opt" data-apply-to=".carousel:first" data-select-data-attribute="0s" data-attribute-name="interval" data-unit="s" data-save-unit="ms" data-step="0.1"/> <we-select string="Columns" data-dependencies="masonry_mode_opt, grid_mode_opt"> <we-button data-columns="1">1</we-button> <we-button data-columns="2">2</we-button> <we-button data-columns="3">3</we-button> <we-button data-columns="4">4</we-button> <we-button data-columns="6">6</we-button> <we-button data-columns="12">12</we-button> </we-select> <we-range string="Images Spacing" data-dependencies="!slideshow_mode_opt" data-select-class="o_spc-none|o_spc-small|o_spc-medium|o_spc-big"/> <we-select string="Styling" data-apply-to="img"> <we-button data-select-class="">Standard</we-button> <we-button data-select-class="img-thumbnail">Thumbnails</we-button> <we-button data-select-class="rounded-pill">Circle</we-button> <we-button data-select-class="shadow">Shadows</we-button> </we-select> <we-select string="Arrows" data-dependencies="slideshow_mode_opt"> <we-button data-select-class="">Standard</we-button> <we-button data-select-class="s_image_gallery_indicators_arrows_boxed">Boxed</we-button> <we-button data-select-class="s_image_gallery_indicators_arrows_rounded">Rounded</we-button> </we-select> <we-checkbox string="Image Cover" data-select-class="s_image_gallery_cover" data-dependencies="slideshow_mode_opt"/> <we-select string="Indicators" data-dependencies="slideshow_mode_opt"> <we-button data-select-class="">None</we-button> <we-button data-select-class="s_image_gallery_show_indicators s_image_gallery_indicators_dots">Dots</we-button> <we-button data-select-class="s_image_gallery_show_indicators">Squared Miniatures</we-button> <we-button data-select-class="s_image_gallery_show_indicators s_image_gallery_indicators_rounded">Rounded Miniatures</we-button> </we-select> <t t-call="website.snippet_options_border_widgets"> <t t-set="apply_to" t-valuef="img"/> <t t-set="so_rounded_no_dependencies" t-value="true"/> </t> </div> <div data-js="gallery_img" data-selector=".s_image_gallery img"> <we-row string="Re-order" data-no-preview="true"> <we-button class="fa fa-fw fa-angle-double-left" title="Move to first" data-position="first"/> <we-button class="fa fa-fw fa-angle-left" title="Move to previous" data-position="prev"/> <we-button class="fa fa-fw fa-angle-right" title="Move to next" data-position="next"/> <we-button class="fa fa-fw fa-angle-double-right" title="Move to last" data-position="last"/> </we-row> </div> </xpath> </template> <record id="website.s_image_gallery_000_js" model="ir.asset"> <field name="name">Image gallery 000 JS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_image_gallery/000.js</field> </record> <record id="website.s_image_gallery_000_scss" model="ir.asset"> <field name="name">Image gallery 000 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_image_gallery/000.scss</field> <field name="active" eval="False"/> </record> <record id="website.s_image_gallery_001_scss" model="ir.asset"> <field name="name">Image gallery 001 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_image_gallery/001.scss</field> </record> <record id="website.s_image_gallery_000_xml" model="ir.asset"> <field name="name">Image gallery 000 XML</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_image_gallery/000.xml</field> </record> </odoo>
<?xml version="1.0" ?> <odoo> <template id="s_features" name="Features"> <section class="s_features pt32 pb32"> <div class="container"> <div class="row"> <div class="col-lg-4 pt32 pb32 text-center"> <i class="fa fa-3x fa-gear rounded bg-primary m-3"/> <h3>First Feature</h3> <p> Tell what's the value for the <br/> customer for this feature. </p> </div> <div class="col-lg-4 pt32 pb32 text-center"> <i class="fa fa-3x fa-photo rounded bg-o-color-5 m-3"/> <h3>Second Feature</h3> <p> Write what the customer would like to know, <br/> not what you want to show. </p> </div> <div class="col-lg-4 pt32 pb32 text-center"> <i class="fa fa-3x fa-leaf rounded bg-secondary m-3"/> <h3>Third Feature</h3> <p> A small explanation of this great <br/> feature, in clear words. </p> </div> </div> </div> </section> </template> </odoo>
<?xml version="1.0" ?> <odoo> <template name="Map" id="s_map"> <section class="s_map pb56 pt56" data-map-type="m" data-map-zoom="12" t-att-data-map-address="' '.join(filter(None, (user_id.company_id.street, user_id.company_id.city, user_id.company_id.state_id.display_name, user_id.company_id.country_id.display_name)))"> <div class="map_container o_not_editable"> <div class="css_non_editable_mode_hidden"> <div class="missing_option_warning alert alert-info rounded-0 fade show d-none d-print-none"> An address must be specified for a map to be embedded </div> </div> <!-- GMap iframe will be injected in JS --> <div class="s_map_color_filter"/> </div> </section> </template> <!-- Snippet's Options --> <template id="s_map_options" inherit_id="website.snippet_options"> <xpath expr="//div[@data-js='Box']" position="before"> <div data-js="Map" data-selector=".s_map"> <we-input class="o_we_large" string="Address" data-select-data-attribute="" data-no-preview="true" data-attribute-name="mapAddress" placeholder="e.g. De Brouckere, Brussels, Belgium"/> <we-select string="Type" data-no-preview="true" data-attribute-name="mapType"> <we-button data-select-data-attribute="m">Road</we-button> <we-button data-select-data-attribute="k">Satellite</we-button> </we-select> <we-select string="Zoom" data-select-data-attribute="12" data-no-preview="true" data-attribute-name="mapZoom"> <we-button data-select-data-attribute="21">2.5 m</we-button> <we-button data-select-data-attribute="20">5 m</we-button> <we-button data-select-data-attribute="19">10 m</we-button> <we-button data-select-data-attribute="18">20 m</we-button> <we-button data-select-data-attribute="17">50 m</we-button> <we-button data-select-data-attribute="16">100 m</we-button> <we-button data-select-data-attribute="15">200 m</we-button> <we-button data-select-data-attribute="14">400 m</we-button> <we-button data-select-data-attribute="13">1 km</we-button> <we-button data-select-data-attribute="12">2 km</we-button> <we-button data-select-data-attribute="11">4 km</we-button> <we-button data-select-data-attribute="10">8 km</we-button> <we-button data-select-data-attribute="9">15 km</we-button> <we-button data-select-data-attribute="8">30 km</we-button> <we-button data-select-data-attribute="7">50 km</we-button> <we-button data-select-data-attribute="6">100 km</we-button> <we-button data-select-data-attribute="5">200 km</we-button> <we-button data-select-data-attribute="4">400 km</we-button> <we-button data-select-data-attribute="3">1000 km</we-button> <we-button data-select-data-attribute="2">2000 km</we-button> </we-select> <we-colorpicker string="Color filter" data-select-style="true" data-css-property="background-color" data-color-prefix="bg-" data-apply-to=".s_map_color_filter"/> <we-checkbox string="Description" data-no-preview="true" data-show-description="true"/> </div> </xpath> </template> <record id="website.s_map_000_scss" model="ir.asset"> <field name="name">Map 000 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_map/000.scss</field> </record> <record id="website.s_map_000_js" model="ir.asset"> <field name="name">Map 000 JS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_map/000.js</field> </record> </odoo>
Produits frais issus des criées locales
Chaque jour, Moulat Lhout vous propose des poissons et fruits de mer sélectionnés avec soin, garantissant qualité, fraîcheur et saveur authentique du littoral marocain.


Service traiteur sur mesure
Des plateaux variés aux bastillas de la mer, notre équipe prépare des mets savoureux pour vos événements : mariages, réceptions ou simples repas en famille.
<?xml version="1.0" ?> <odoo> <template id="s_three_columns_moulat_lhout" inherit_id="website.s_three_columns" name="Moulat Lhout – 3 colonnes"> <!-- Première colonne --> <xpath expr="//div[hasclass('col-lg-4')][1]" position="replace"> <div class="col-lg-4 text-center"> <img src="/theme_poissonnerie/static/src/img/moulatlhout_boutique-02.jpg" class="img-fluid rounded mb-3" alt="Notre boutique Moulat Lhout"/> <h4 class="fw-bold">Notre Boutique</h4> <p>Un espace accueillant où tradition et fraîcheur se rencontrent pour offrir le meilleur des produits de la mer.</p> </div> </xpath> <!-- Deuxième colonne --> <xpath expr="//div[hasclass('col-lg-4')][2]" position="replace"> <div class="col-lg-4 text-center"> <img src="/theme_poissonnerie/static/src/img/fatiha_boutique-02.jpg" class="img-fluid rounded mb-3" alt="Notre Bastila maison"/> <h4 class="fw-bold">Bastila aux fruits de mer</h4> <p>Une bastila délicatement feuilletée, garnie de fruits de mer frais et parfumée aux épices marocaines : un vrai régal.</p> </div> </xpath> <!-- Troisième colonne --> <xpath expr="//div[hasclass('col-lg-4')][3]" position="replace"> <div class="col-lg-4 text-center"> <img src="/theme_poissonnerie/static/src/img/fatiha_houta-01.jpg" class="img-fluid rounded mb-3" alt="Poisson frais Moulat Lhout"/> <h4 class="fw-bold">Poissons Frais</h4> <p>Chaque jour, une sélection des meilleurs poissons fraîchement débarqués pour satisfaire toutes vos envies marines.</p> </div> </xpath> </template> <record id="website.s_three_columns_000_scss" model="ir.asset"> <field name="name">Three columns 000 SCSS</field> <field name="bundle">web.assets_frontend</field> <field name="path">website/static/src/snippets/s_three_columns/000.scss</field> <field name="active" eval="False"/> </record> </odoo>

Une boutique où la mer rencontre l’excellence
Découvrez notre espace pensé pour vous offrir des produits de la mer d’une fraîcheur incomparable. Moulat Lhout, votre poissonnerie-traiteur de confiance, allie tradition marocaine et rigueur dans la qualité.

La bastila de la mer pleine de saveurs marines
Chez Moulat Lhout, savourez une bastila unique : feuilles croustillantes, poissons nobles, crevettes et calamars parfumés aux herbes et safran, relevés d’un soupçon de citron confit. Un plat raffiné pour vos fêtes.

Un poisson d’exception pour des plats uniques
Nos poissons sont sélectionnés chaque jour avec le plus grand soin pour garantir un goût authentique et une fraîcheur absolue. Moulat Lhout, l’assurance d’un produit qui sublime vos recettes.

Bastila Crue
Une bastila maison prête à enfourner, garnie de généreuses crevettes entières pour un goût marin incomparable. Raffinement et saveurs authentiques.

Bastila Dorée
Une bastila cuite à la perfection, au feuilletage doré, ornée de crevettes entières pour un plaisir gourmand. À servir chaude pour un pur moment de délice.

Bastila Prête
Bastilas artisanales prêtes à être cuites, décorées de crevettes entières. Idéales pour vos repas de fête ou vos occasions spéciales, simples à préparer.
<?xml version="1.0" ?> <odoo> <template id="s_call_to_action" name="Call to Action"> <section class="s_call_to_action o_cc o_cc3 pt48 pb24"> <div class="container"> <div class="row"> <div class="col-lg-9 pb16"> <h3> <b>50,000+ companies</b> run Odoo to grow their businesses. </h3> <p>Join us and make your company a better place.</p> </div> <div class="col-lg-3 pt8"> <p style="text-align: right;"> <a t-att-href="cta_btn_href" class="btn btn-primary btn-lg mb-2"> <t t-esc="cta_btn_text">Contact us</t> </a> </p> </div> </div> </div> </section> </template> </odoo>
<?xml version="1.0" ?> <odoo> <template id="s_banner" name="Banner"> <section class="s_banner parallax s_parallax_is_fixed pt96 pb96" data-scroll-background-ratio="1"> <span class="s_parallax_bg oe_img_bg" style="background-image: url('/web/image/website.s_banner_default_image'); background-position: 50% 0;"/> <div class="container"> <div class="row s_nb_column_fixed"> <div class="col-lg-6 jumbotron rounded o_cc o_cc1 pt32 pb32" data-name="Box"> <h1> <font style="font-size: 62px;">Sell Online. Easily.</font> </h1> <p class="lead">This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p> <a t-att-href="cta_btn_href" class="btn btn-primary mb-2"> <t t-esc="cta_btn_text">Contact Us</t> </a> </div> </div> </div> </section> </template> </odoo>
📂 Fichiers du thème
-
📁 views
-
📁 snippets
-
📁 models
-
📁 __pycache__
-
📁 data
-
📁 static
-
📁 src
-
📁 css
-
📁 img
-
📁 content
-
📁 snippets
-
📁 js
-
📁 old_snippets
-
📁 s_features_carousel
-
📁 s_banner_parallax
-
📁 s_products_carousel
-
-
-
📁 __pycache__
← Retour à la galerie