forked from alaguraj/odoo-testing-addons
241 lines
17 KiB
XML
241 lines
17 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<data>
|
|
<template id="custom_main_layout" inherit_id="website.layout" name="Chennora Main Layout" priority="50">
|
|
<xpath expr="//html" position="before">
|
|
<!-- [ORIGINAL CONTENT PRESERVED] -->
|
|
<t t-set="html_data" t-value="{ 'lang': lang and lang.replace('_', '-'), 'data-website-id': website.id if website else None, 'data-edit_translations': '1' if edit_translations else None, 'data-main-object': repr(main_object) if main_object else None, 'data-seo-object': repr(seo_object) if seo_object else None, }"/>
|
|
<t t-if="not request.env.user._is_public() and main_object" t-set="nothing" t-value="html_data.update({ 'data-is-published': 'website_published' in main_object.fields_get() and main_object.website_published, 'data-can-optimize-seo': 'website_meta_description' in main_object.fields_get(), 'data-can-publish': 'can_publish' in main_object.fields_get() and main_object.can_publish, 'data-editable-in-backend': edit_in_backend or ('website_published' in main_object.fields_get() and main_object._name != 'website.page'), })"/>
|
|
<!--
|
|
TODO Review in master (this is a stable fix for new databases).
|
|
See REVIEW_CAN_PUBLISH_UNSUDO.
|
|
-->
|
|
<t t-if="html_data and html_data.get('data-can-publish') == True and main_object">
|
|
<t t-set="nothing" t-value="html_data.update({ 'data-can-publish': 'can_publish' in main_object.fields_get() and main_object.sudo(flag=False).can_publish, })"/>
|
|
</t>
|
|
<t t-if="editable or translatable" t-set="nothing" t-value="html_data.update({ 'data-editable': '1' if editable else None, 'data-translatable': '1' if translatable else None, 'data-view-xmlid': xmlid, 'data-viewid': viewid, })"/>
|
|
</xpath>
|
|
|
|
<xpath expr="//head" position="attributes">
|
|
<attribute name="t-cache">main_object if main_object and main_object._name == 'website.page' and not request.session.debug and not editable and not translatable else None</attribute>
|
|
</xpath>
|
|
<xpath expr="//head/*[1]" position="before">
|
|
<t t-if="not title">
|
|
<t t-if="not additional_title and main_object and 'name' in main_object">
|
|
<t t-set="additional_title" t-value="main_object.name"/>
|
|
</t>
|
|
<t t-set="default_title" t-translation="off" t-value="(additional_title + ' | ' if additional_title else '') + (website or res_company).name"/>
|
|
<t t-set="seo_object" t-value="seo_object or main_object"/>
|
|
<t t-if="seo_object and 'website_meta_title' in seo_object and seo_object.website_meta_title">
|
|
<t t-set="title" t-value="seo_object.website_meta_title"/>
|
|
</t>
|
|
<t t-else="">
|
|
<t t-set="title" t-value="default_title"/>
|
|
</t>
|
|
</t>
|
|
<t t-set="x_icon" t-value="website.image_url(website, 'favicon')"/>
|
|
</xpath>
|
|
<xpath expr="//head/meta[last()]" position="after">
|
|
<meta name="generator" content="Odoo"/>
|
|
<t t-set="website_meta" t-value="seo_object and seo_object.get_website_meta() or {}"/>
|
|
<meta name="default_title" t-att-content="default_title" groups="website.group_website_designer"/>
|
|
<meta t-if="(main_object and 'website_indexed' in main_object and not main_object.website_indexed) or (website.domain and not website._is_indexable_url(request.httprequest.url_root))" name="robots" content="noindex"/>
|
|
<t t-set="seo_object" t-value="seo_object or main_object"/>
|
|
<t t-set="meta_description" t-value="seo_object and 'website_meta_description' in seo_object and seo_object.website_meta_description or website_meta_description or website_meta.get('meta_description', '')"/>
|
|
<t t-set="meta_keywords" t-value="seo_object and 'website_meta_keywords' in seo_object and seo_object.website_meta_keywords or website_meta_keywords"/>
|
|
<meta t-if="meta_description or editable" name="description" t-att-content="meta_description"/>
|
|
<meta t-if="meta_keywords or editable" name="keywords" t-att-content="meta_keywords"/>
|
|
<t t-if="seo_object">
|
|
<meta name="default_description" t-att-content="website_meta_description or website_meta.get('meta_description')" groups="website.group_website_designer"/>
|
|
<t t-set="opengraph_meta" t-value="website_meta.get('opengraph_meta')"/>
|
|
<t t-if="opengraph_meta">
|
|
<t t-foreach="opengraph_meta" t-as="property">
|
|
<t t-if="isinstance(opengraph_meta[property], list)">
|
|
<t t-foreach="opengraph_meta[property]" t-as="meta_content">
|
|
<meta t-att-property="property" t-att-content="meta_content"/>
|
|
</t>
|
|
</t>
|
|
<t t-else="">
|
|
<meta t-att-property="property" t-att-content="opengraph_meta[property]"/>
|
|
</t>
|
|
</t>
|
|
</t>
|
|
<t t-set="twitter_meta" t-value="website_meta.get('twitter_meta')"/>
|
|
<t t-if="opengraph_meta">
|
|
<t t-foreach="twitter_meta" t-as="t_meta">
|
|
<meta t-att-name="t_meta" t-att-content="twitter_meta[t_meta]"/>
|
|
</t>
|
|
</t>
|
|
</t>
|
|
<t t-if="request and request.is_frontend_multilang and website and website.is_public_user()">
|
|
<t t-set="alternate_languages" t-value="website._get_alternate_languages(canonical_params=canonical_params)"/>
|
|
<t t-foreach="alternate_languages" t-as="lg">
|
|
<link rel="alternate" t-att-hreflang="lg['hreflang']" t-att-href="lg['href']"/>
|
|
</t>
|
|
</t>
|
|
<link t-if="request and website and website.is_public_user()" rel="canonical" t-att-href="website._get_canonical_url(canonical_params=canonical_params)"/>
|
|
<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin=""/>
|
|
</xpath>
|
|
|
|
<xpath expr="//header" position="attributes">
|
|
<attribute name="data-name">Header</attribute>
|
|
<attribute name="t-att-data-extra-items-toggle-aria-label">extra_items_toggle_aria_label</attribute>
|
|
</xpath>
|
|
|
|
<xpath expr="//header/t[@t-cache]" position="attributes">
|
|
<attribute name="t-cache">None if website.is_menu_cache_disabled() else (xmlid,website,website.is_public_user())</attribute>
|
|
</xpath>
|
|
|
|
<xpath expr="//header" position="before">
|
|
<t t-set="cta_btn_text" t-value="False"/>
|
|
<t t-set="cta_btn_href">/contactus</t>
|
|
<t t-set="extra_items_toggle_aria_label">Extra items button</t>
|
|
</xpath>
|
|
|
|
<xpath expr="//footer[@id='bottom']" position="replace">
|
|
<footer id="bottom" data-anchor="true" data-name="Footer" class="o_footer o_colored_level o_cc">
|
|
<div id="footer" class="oe_structure oe_structure_solo">
|
|
<section class="s_footer_premium pt80">
|
|
<div class="container footer-cta-bar-wrapper">
|
|
<div class="footer-cta-bar">
|
|
<div class="cta-item">
|
|
<div class="icon-circle"><i class="fa fa-map-marker"></i></div>
|
|
<div>
|
|
<strong>Address</strong>
|
|
<p>Unit 66, 11665 McVean Dr, Brampton, Canada.</p>
|
|
</div>
|
|
</div>
|
|
<div class="cta-item">
|
|
<div class="icon-circle"><i class="fa fa-envelope"></i></div>
|
|
<div>
|
|
<strong>Send Email</strong>
|
|
<p>chennorakitchen@gmail.com</p>
|
|
</div>
|
|
</div>
|
|
<div class="cta-item">
|
|
<div class="icon-circle"><i class="fa fa-phone"></i></div>
|
|
<div>
|
|
<strong>Call Us</strong>
|
|
<p>+1(647)856-2878</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="container main-footer-content mt-5">
|
|
<div class="row">
|
|
<div class="col-lg-3 col-md-6 mb-5">
|
|
<h2 class="fw-bold mb-4" style="color: #FECD4F;">Chennora</h2>
|
|
<p class="text-white-50 mb-4">Chennora brings Chennai's authentic flavors to Brampton where every dish tells a story of South Indian heritage.</p>
|
|
<div class="social-links">
|
|
<a href="#"><i class="fa fa-facebook"></i></a>
|
|
<a href="#"><i class="fa fa-instagram"></i></a>
|
|
<a href="#"><i class="fa fa-tiktok"></i></a>
|
|
<a href="#"><i class="fa fa-youtube"></i></a>
|
|
<a href="#"><i class="fa fa-twitter"></i></a>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-3 col-md-6 mb-5">
|
|
<h4 class="footer-title">Hours</h4>
|
|
<ul class="footer-list">
|
|
<li><span>Sunday - Thursday: <span style="color: #2BB1A5;">12pm - 9pm</span></span></li>
|
|
<li><span>Friday & Saturday: <span style="color: #2BB1A5;">12pm - 11pm</span></span></li>
|
|
</ul>
|
|
</div>
|
|
<div class="col-lg-3 col-md-6 mb-5">
|
|
<h4 class="footer-title">Quick Links</h4>
|
|
<ul class="footer-list">
|
|
<li><i class="fa fa-chevron-right"></i><a href="/about">About Us</a></li>
|
|
<li><i class="fa fa-chevron-right"></i><a href="/blog">Our Blogs</a></li>
|
|
<li><i class="fa fa-chevron-right"></i><a href="/contactus">Contact Us</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="col-lg-3 col-md-6 mb-5">
|
|
<h4 class="footer-title">Contact</h4>
|
|
<div class="mb-3 d-flex align-items-center"><i class="fa fa-phone me-3" style="color: #2BB1A5;"></i><span>+1(647)856-2878</span></div>
|
|
<h5 class="fw-bold mt-4 mb-2">Address</h5>
|
|
<div class="d-flex align-items-start"><i class="fa fa-map-marker me-3 mt-1" style="color: #2BB1A5;"></i><span>Chennora Indian Kitchen Bar, Unit 66, 11665 McVean Dr, Brampton</span></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<img src="/dine360_theme_chennora/static/src/img/about-leaves.png" class="footer-accent-left d-none d-lg-block" alt=""/>
|
|
<img src="/dine360_theme_chennora/static/src/img/gallery-2.png" class="footer-accent-right d-none d-lg-block" alt=""/>
|
|
<div class="footer-copyright-bar">
|
|
Copyright 2026 @ Chennora. Powered by MetatronCube. All Right Reserved.
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</footer>
|
|
</xpath>
|
|
|
|
<xpath expr="//div[@id='wrapwrap']" position="after">
|
|
<t t-if="website and website.google_analytics_key and not editable">
|
|
<script id="tracking_code" t-attf-src="https://www.googletagmanager.com/gtag/js?id={{ website.google_analytics_key }}" async="async"/>
|
|
<script id="tracking_code_config">
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('consent', 'default', {
|
|
'ad_storage': 'denied',
|
|
'ad_user_data': 'denied',
|
|
'ad_personalization': 'denied',
|
|
'analytics_storage': 'denied',
|
|
});
|
|
gtag('js', new Date());
|
|
gtag('config', '<t t-esc="website.google_analytics_key"/>');
|
|
function allConsentsGranted() {
|
|
gtag('consent', 'update', {
|
|
'ad_storage': 'granted',
|
|
'ad_user_data': 'granted',
|
|
'ad_personalization': 'granted',
|
|
'analytics_storage': 'granted',
|
|
});
|
|
}
|
|
<t t-if="website._allConsentsGranted()">
|
|
allConsentsGranted();
|
|
</t>
|
|
<t t-else="">
|
|
document.addEventListener(
|
|
"optionalCookiesAccepted",
|
|
allConsentsGranted,
|
|
{once: true}
|
|
);
|
|
</t>
|
|
</script>
|
|
</t>
|
|
<t t-if="website and website.plausible_shared_key and not editable">
|
|
<script id="plausible_script" name="plausible" defer="defer" t-att-data-domain="website.plausible_site" t-att-src="website._get_plausible_script_url()"/>
|
|
</t>
|
|
</xpath>
|
|
|
|
<xpath expr="//div[@id='wrapwrap']" position="before">
|
|
<t groups="website.group_website_restricted_editor">
|
|
<t t-foreach="['header_overlay', 'header_color', 'header_text_color', 'header_visible', 'footer_visible']" t-as="optionName">
|
|
<input t-if="main_object and optionName in main_object" type="hidden" class="o_page_option_data" autocomplete="off" t-att-name="optionName" t-att-value="main_object[optionName]"/>
|
|
</t>
|
|
</t>
|
|
|
|
<t t-set="header_bg_color" t-value="main_object and 'header_color' in main_object and main_object.header_color or ''"/>
|
|
<t t-set="header_bg_color_is_class" t-value="'bg-' in header_bg_color"/>
|
|
<t t-set="header_bg_color_class" t-value="header_bg_color_is_class and header_bg_color or ''"/>
|
|
<t t-set="header_bg_color_style" t-value="(not header_bg_color_is_class) and header_bg_color or ''"/>
|
|
|
|
<t t-set="header_text_color" t-value="main_object and 'header_text_color' in main_object and main_object.header_text_color or ''"/>
|
|
<t t-set="header_text_color_is_class" t-value="'text-' in header_text_color"/>
|
|
<t t-set="header_text_color_class" t-value="header_text_color_is_class and header_text_color or ''"/>
|
|
<t t-set="header_text_color_style" t-value="(not header_text_color_is_class) and header_text_color or ''"/>
|
|
</xpath>
|
|
|
|
<xpath expr="//div[@id='wrapwrap']" position="attributes">
|
|
<attribute name="t-attf-class" add="#{'o_header_overlay' if main_object and 'header_overlay' in main_object and main_object.header_overlay else ''}" separator=" "/>
|
|
</xpath>
|
|
<xpath expr="//header" position="attributes">
|
|
<attribute name="t-attf-class" add="#{header_bg_color_class} #{header_text_color_class}" separator=" "/>
|
|
<attribute name="t-attf-style" add="#{header_bg_color_style and ('background-color: %s;' % header_bg_color_style)} #{header_text_color_style and ('color: %s;' % header_text_color_style)}" separator=" "/>
|
|
</xpath>
|
|
<xpath expr="//header" position="attributes">
|
|
<attribute name="t-attf-class" add="#{'d-none o_snippet_invisible' if main_object and 'header_visible' in main_object and not main_object.header_visible else ''}" separator=" "/>
|
|
<attribute name="t-att-data-invisible">'1' if main_object and 'header_visible' in main_object and not main_object.header_visible else None</attribute>
|
|
</xpath>
|
|
</template>
|
|
</data>
|
|
</odoo>
|