You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
224 lines
17 KiB
224 lines
17 KiB
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
|
|
<!-- template for header-->
|
|
<template id="header_eco_food" inherit_id="website.template_header_default"
|
|
name="Template Header Theme EcoFood" active="True">
|
|
<xpath expr="//header" position="replace">
|
|
<header id="eco_food_header" class="header_modern_light">
|
|
<section class="nav_modern sticker">
|
|
<div>
|
|
<div class="top_bar1 bg-dark">
|
|
<div class="left">
|
|
<span>
|
|
Welcome you to Eco-life store!
|
|
</span>
|
|
</div>
|
|
<div class="right">
|
|
<ul class="d-flex align-items-center mb-0">
|
|
<li>
|
|
<t t-call="website_sale_wishlist.header_wishlist_link">
|
|
<t t-set="_text" t-value="True"/>
|
|
<t t-set="_link_class" t-value="'eco_food o_navlink_background_hover btn position-relative rounded-circle border-0 p-1 text-reset'"/>
|
|
<t t-set="_badge_class" t-value="'position-absolute bg-transparent top-0 end-0 mt-n1 me-n1 rounded-pill'"/>
|
|
</t>
|
|
</li>
|
|
<li>
|
|
<t t-set="_classes" t-valuef="ms-2 float-end"/>
|
|
<div t-attf-class="o_pricelist_dropdown dropdown #{'' if hasPricelistDropdown else 'd-none'} #{_classes}">
|
|
<t t-set="curr_pl" t-value="website.pricelist_id"/>
|
|
<a role="button" href="#"
|
|
t-attf-class="dropdown-toggle -{{navClass}}"
|
|
data-bs-toggle="dropdown">
|
|
<t t-esc="curr_pl and curr_pl.name or ' - '"/>
|
|
</a>
|
|
<div class="dropdown-menu bg-dark" role="menu">
|
|
<t t-foreach="website_sale_pricelists" t-as="pl">
|
|
<a role="button"
|
|
t-att-href="'/shop/change_pricelist/%s' % pl.id"
|
|
class="dropdown-item dropdown-pricelist">
|
|
<span class="switcher_pricelist" t-att-data-pl_id="pl.id"
|
|
t-esc="pl.name"/>
|
|
</a>
|
|
</t>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<t t-set="active_lang" t-value="list(filter(lambda lg : lg[0] == lang, languages))[0]"/>
|
|
<t t-set="language_selector_visible" t-value="len(languages) > 1"/>
|
|
<div t-attf-class="js_language_selector #{_div_classes} d-print-none"
|
|
t-if="language_selector_visible">
|
|
<button t-attf-class="btn btn-sm btn-outline-secondary border-0 dropdown-toggle #{_btn_class}"
|
|
type="button" data-bs-toggle="dropdown" aria-haspopup="true"
|
|
aria-expanded="true">
|
|
<span t-if="not no_text"
|
|
class="align-middle"
|
|
t-esc="active_lang[2].split('/').pop()"/>
|
|
</button>
|
|
<div t-attf-class="dropdown-menu #{_dropdown_menu_class}" role="menu">
|
|
<t t-foreach="languages" t-as="lg">
|
|
<a t-att-href="url_for(request.httprequest.path + '?' + keep_query(), lang_code=lg[0])"
|
|
t-attf-class="dropdown-item js_change_lang #{active_lang == lg and 'active'}"
|
|
t-att-data-url_code="lg[1]">
|
|
<span t-if="not no_text" t-esc="lg[2].split('/').pop()"/>
|
|
</a>
|
|
</t>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<!-- Sign In -->
|
|
<t t-call="portal.placeholder_user_sign_in">
|
|
<t t-set="_item_class"
|
|
t-value="'nav-item user ml-auto'"/>
|
|
<t t-set="_link_class"
|
|
t-value="'nav-link font-weight-bold'"/>
|
|
</t>
|
|
<!-- User Dropdown -->
|
|
<t t-call="portal.user_dropdown">
|
|
<t t-set="_user_name" t-value="true"/>
|
|
<t t-set="_item_class"
|
|
t-value="'nav-item dropdown ml-lg-auto'"/>
|
|
<t t-set="_link_class"
|
|
t-value="'nav-link font-weight-bold'"/>
|
|
<t t-set="_dropdown_menu_class"
|
|
t-value="'bg-dark'"/>
|
|
</t>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<section class="topbar">
|
|
<nav class="navbar navbar-expand-lg navbar-light ">
|
|
<a class="navbar-brand pb-2 d-none d-md-none d-lg-block " href="/">
|
|
<span t-field="website.logo"
|
|
t-options="{'widget': 'image', 'width': 95, 'height': 40}" role="img"
|
|
t-att-aria-label="'Logo of %s' % website.name"
|
|
t-att-title="website.name"/>
|
|
</a>
|
|
<a class="navbar-toggler collapsed border-0 x " type="button" data-toggle="collapse"
|
|
data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown"
|
|
aria-expanded="false"
|
|
aria-label="Toggle navigation">
|
|
<span class="span_color"/>
|
|
<span class="span_color"/>
|
|
<span class="span_color"/>
|
|
</a>
|
|
<div class="collapse navbar-collapse p-3 p-lg-0 px-sm-0 mt-0 mt-lg-0 d-flex flex-column flex-lg-row flex-xl-row justify-content-lg-center mobileMenu"
|
|
id="navbarNavDropdown">
|
|
<a class="navbar-toggler collapsed border-0 x mobile_toggler"
|
|
type="button" data-toggle="collapse"
|
|
data-target="#navbarNavDropdown"
|
|
aria-controls="navbarNavDropdown"
|
|
aria-expanded="false"
|
|
aria-label="Toggle navigation">
|
|
<span class="span_color"/>
|
|
<span class="span_color"/>
|
|
<span class="span_color"/>
|
|
</a>
|
|
<ul class="navbar-nav align-self-stretch">
|
|
<li class="nav-item">
|
|
<t t-foreach="website.menu_id.child_id"
|
|
t-as="submenu">
|
|
<t t-set="item_class"
|
|
t-valuef="nav-item"/>
|
|
<t t-set="link_class"
|
|
t-valuef="nav-link"/>
|
|
<t t-set="show_dropdown"
|
|
t-value="(submenu.is_mega_menu and submenu.is_visible) or submenu.child_id.filtered(lambda menu: menu.is_visible)"/>
|
|
<li t-if="submenu.is_visible and not (submenu.child_id or submenu.is_mega_menu)"
|
|
t-attf-class="#{item_class or ''}">
|
|
<a t-att-href="submenu._clean_url()"
|
|
t-attf-class="#{link_class or ''} #{submenu._is_active() and 'active'}"
|
|
role="menuitem"
|
|
t-ignore="true"
|
|
t-att-target="'_blank' if submenu.new_window else None">
|
|
<span t-field="submenu.name"/>
|
|
</a>
|
|
</li>
|
|
<li t-elif="show_dropdown"
|
|
t-attf-class="#{item_class or ''} dropdown #{ (submenu.clean_url() and submenu.clean_url() != '/' and any(request.httprequest.path == child.url for child in submenu.child_id if child.url) or (submenu.clean_url() and request.httprequest.path == submenu.clean_url())) and 'active' } #{submenu.is_mega_menu and 'position-static'}">
|
|
<a t-attf-class="#{link_class or ''} dropdown-toggle #{submenu.is_mega_menu and 'o_mega_menu_toggle'}"
|
|
data-bs-toggle="dropdown"
|
|
href="#">
|
|
<span t-field="submenu.name"/>
|
|
</a>
|
|
<div t-if="submenu.is_mega_menu"
|
|
t-attf-class="dropdown-menu o_mega_menu #{submenu.mega_menu_classes}"
|
|
data-name="Mega Menu"
|
|
t-field="submenu.mega_menu_content"/>
|
|
<ul t-else=""
|
|
class="dropdown-menu"
|
|
role="menu">
|
|
<t t-foreach="submenu.child_id"
|
|
t-as="submenu">
|
|
<t t-call="website.submenu">
|
|
<t t-set="item_class"
|
|
t-value="None"/>
|
|
<t t-set="link_class"
|
|
t-valuef="dropdown-item"/>
|
|
</t>
|
|
</t>
|
|
</ul>
|
|
</li>
|
|
</t>
|
|
</li>
|
|
</ul>
|
|
<ul class="navbar-nav align-self-stretch">
|
|
<li class="d-xl-none d-lg-none d-flex justify-content-around mt-4">
|
|
<a href="#" class="mr-5">
|
|
<select class="form-select" id="pricelistDropdown" aria-label="Default select example">
|
|
<t t-foreach="website_sale_pricelists" t-as="pl">
|
|
<option t-att-value="pl.id" t-att-selected="pl.id == website.pricelist_id.id">
|
|
<a role="button"
|
|
t-att-href="'/shop/change_pricelist/%s' % pl.id"
|
|
class="dropdown-item dropdown-pricelist">
|
|
<span class="switcher_pricelist" t-att-data-pl_id="pl.id" t-esc="pl.name"/>
|
|
</a>
|
|
</option>
|
|
</t>
|
|
</select>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<a class="navbar-brand navbar-brand2 pb-2 under_line d-block d-lg-none"
|
|
href="/">EcoFood
|
|
</a>
|
|
<ul class="icons_nav d-flex">
|
|
<t t-call="website.placeholder_header_search_box">
|
|
<t t-set="_classes" t-valuef="mb-3"/>
|
|
<t t-set="_input_classes" t-valuef="rounded-start-pill text-bg-light ps-3"/>
|
|
<t t-set="_submit_classes" t-valuef="rounded-end-pill bg-o-color-3 pe-3"/>
|
|
<t t-set="limit" t-valuef="0"/>
|
|
</t>
|
|
<t t-set="_icon" t-value="True"/>
|
|
<t t-set="_item_class" t-value="'nav-item mx-lg-3'"/>
|
|
<t t-set="_link_class" t-value="'nav-link'"/>
|
|
<t t-nocache="The number of products is dynamic, this rendering cannot be cached."
|
|
t-nocache-_icon="_icon"
|
|
t-nocache-_item_class="_item_class"
|
|
t-nocache-_link_class="_link_class">
|
|
<t t-set="website_sale_cart_quantity"
|
|
t-value="request.session['website_sale_cart_quantity'] if 'website_sale_cart_quantity' in request.session else website.sale_get_order().cart_quantity or 0"/>
|
|
<t t-set="show_cart" t-value="true"/>
|
|
<li t-attf-class="#{_item_class} divider d-none"/>
|
|
<li t-attf-class="o_wsale_my_cart align-self-md-start #{not show_cart and 'd-none'} #{_item_class}">
|
|
<a href="/shop/cart" t-attf-class="nav-link nav-cart">
|
|
<i t-if="_icon" class="bi bi-bag"/>
|
|
<span t-if="_text">My Cart</span>
|
|
<sup class="my_cart_quantity badge text-bg-primary"
|
|
t-esc="website_sale_cart_quantity"
|
|
t-att-data-order-id="request.session.get('sale_order_id', '')"/>
|
|
</a>
|
|
</li>
|
|
</t>
|
|
</ul>
|
|
</nav>
|
|
<div class="overlay"/>
|
|
</section>
|
|
</div>
|
|
</section>
|
|
</header>
|
|
</xpath>
|
|
</template>
|
|
</odoo>
|