<template id="website.theme" name="Theme">
<link id="bootstrap_css" rel='stylesheet' href='/web/static/lib/bootstrap/css/bootstrap.css' t-ignore="true"/>
- <link id="website_css" rel='stylesheet' href='/website/static/src/css/website.css' t-ignore="true"/>
+ <link rel="stylesheet" href='/website/static/src/css/website.css' t-ignore="true"/>
+</template>
+
+<template id="website.assets_frontend" name="Website assets">
+ <t t-call="website.theme"/>
+
+ <script type="text/javascript" src="/web/static/src/js/watch.js"></script>
+
+ <script type="text/javascript" src="/website/static/src/js/website.js"></script>
+
+ <script type="text/javascript" src="/website/static/src/js/website.snippets.animation.js"></script>
+ <script type="text/javascript" src="/web/static/lib/bootstrap/js/bootstrap.js"></script>
+
+</template>
+
+<template id="assets_backend" name="website assets for backend" inherit_id="web.assets_backend">
+ <xpath expr="." position="inside">
+ <link rel="stylesheet" href="/website/static/src/css/website.backend.css"/>
+
+ <script type="text/javascript" src="/website/static/src/js/website.backend.js"></script>
+ </xpath>
</template>
<template id="website.submenu" name="Submenu">
t-att-data-oe-company-name="res_company.name">
<head>
<meta charset="utf-8" />
- <script type="text/javascript" src="/web/static/src/js/watch.js"></script>
<t t-if="main_object and 'website_meta_title' in main_object">
<t t-set="title" t-value="main_object.website_meta_title"/>
</t>
and main_object.website_meta_keywords or website_meta_keywords"/>
<title><t t-esc="title"/></title>
- <!-- Load stylesheets before scripts to avoid blocking -->
- <link rel='stylesheet' href='/web/static/lib/fontawesome/css/font-awesome.css'/>
-
- <t t-call="website.theme"/>
-
- <script type="text/javascript" src="/web/static/lib/es5-shim/es5-shim.min.js"></script>
- <script type="text/javascript" src="/web/static/lib/underscore/underscore.js"></script>
- <script type="text/javascript" src="/web/static/lib/underscore.string/lib/underscore.string.js"></script>
- <script type="text/javascript" src="/web/static/lib/jquery/jquery.js"></script>
- <script type="text/javascript" src="/web/static/lib/jquery.form/jquery.form.js"></script>
- <script type="text/javascript">
- // Bootstrap and jQuery UI conflicts
- $.fn.bstooltip = $.fn.tooltip;
- $.fn.bsbutton = $.fn.button;
- </script>
-
- <script type="text/javascript" src="/web/static/lib/qweb/qweb2.js"></script>
- <script type="text/javascript" src="/web/static/src/js/openerpframework.js"></script>
-
- <script type="text/javascript" src="/website/static/src/js/website.js"></script>
+ <t t-set="languages" t-value="website.get_languages()"/>
+ <t t-if="request.website_multilang">
+ <t t-foreach="languages" t-as="lg">
+ <t t-set="force_lang" t-value="lg[0] if lg[0] != website.default_lang_code else None"/>
+ <link rel="alternate" t-att-href="url_for(request.httprequest.path + '?' + keep_query(), lang=force_lang)" t-att-hreflang="lg[0].replace('_', '-').lower()" />
+ </t>
+ </t>
- <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.snippets.animation.js"></script>
- <script type="text/javascript" src="/web/static/lib/bootstrap/js/bootstrap.js"></script>
+ <t t-call-assets="web.assets_common"/>
+ <t t-call-assets="website.assets_frontend"/>
<t t-raw="head or ''" name='layout_head'/>
+ <t t-if="website.google_analytics_key">
+ <script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','_gaw');
+
+ _gaw('create',_.str.trim('<t t-esc="website.google_analytics_key"/>'));
+ _gaw('send','pageview');
+ </script>
+ </t>
</head>
<body>
<div id="wrapwrap">
their performance.
</p>
</div>
- <t t-set="languages" t-value="website.get_languages()"/>
- <ul class="list-inline js_language_selector mt16" t-if="(len(languages) > 1 or editable)">
+ <ul class="list-inline js_language_selector mt16" t-if="(request.website_multilang and len(languages) > 1) or editable">
<li t-foreach="languages" t-as="lg">
- <a t-att-href="url_for('', lang=lg[0]) + '?' + keep_query()"
+ <a t-att-href="url_for(request.httprequest.path + '?' + keep_query(), lang=lg[0])"
t-att-data-default-lang="editable and 'true' if lg[0] == website.default_lang_code else None">
<t t-esc="lg[1].split('/').pop()"/>
</a>
</div>
</footer>
</div>
- <t t-if="website.google_analytics_key">
- <script>
- (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
- function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
- e=o.createElement(i);r=o.getElementsByTagName(i)[0];
- e.src='//www.google-analytics.com/analytics.js';
- r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
- ga('create',_.str.trim('<t t-esc="website.google_analytics_key"/>'));
- ga('send','pageview');
- </script>
- </t>
</body>
</html>
</template>
-<template id="layout_logo_show" inherit_id="website.layout" inherit_option_id="website.layout" name="Show Logo">
+<template id="layout_logo_show" inherit_id="website.layout" optional="enabled" name="Show Logo">
<xpath expr="//header//a[@class='navbar-brand']" position="replace">
<a href="/" class="navbar-brand logo">
<img src="/logo.png"/>
</xpath>
</template>
-<template id="editor_head" inherit_id="website.layout" name="Editor" groups="base.group_website_publisher">
+<template id="editor_head" inherit_id="website.layout" name="Editor" groups="base.group_website_publisher,base.group_website_designer">
<xpath expr="//body" position="attributes">
<attribute name="style">padding-top: 51px;</attribute>
</xpath>
</div>
</div>
</xpath>
- <xpath expr='//script[@src="/web/static/lib/bootstrap/js/bootstrap.js"]' position="before">
- <link rel='stylesheet' href='/website/static/src/css/snippets.css'/>
- <link rel='stylesheet' href='/website/static/src/css/editor.css'/>
- <link rel='stylesheet' href='/website/static/lib/bootstrap-tour/bootstrap-tour.css'/>
+ <xpath expr='//t[@t-call-assets="website.assets_frontend"]' position="after">
+ <t t-call-assets="website.assets_editor"/>
+ </xpath>
+</template>
+<template id="assets_editor" name="Editor assets">
+ <script type="text/javascript">
+ var CKEDITOR_BASEPATH = '/web/static/lib/ckeditor/';
+ </script>
+ <link rel='stylesheet' href='/website/static/src/css/snippets.css'/>
+ <link rel='stylesheet' href='/website/static/src/css/editor.css'/>
- <link rel="stylesheet" href="/web/static/lib/select2/select2.css"/>
- <link rel="stylesheet" href="/website/static/lib/select2-bootstrap-css/select2-bootstrap.css"/>
- <link rel='stylesheet' href="/web/static/lib/jquery.ui/css/smoothness/jquery-ui-1.9.1.custom.css"/>
+ <link rel='stylesheet' href="/web/static/lib/jquery.ui/css/smoothness/jquery-ui-1.9.1.custom.css"/>
- <script type="text/javascript" src="/web/static/lib/select2/select2.js"></script>
- <script type="text/javascript" src="/web/static/lib/ckeditor/ckeditor.js"></script>
- <script t-if="not translatable" type="text/javascript" src="/website/static/lib/ace/ace.js"></script>
- <script type="text/javascript" src="/website/static/lib/vkbeautify/vkbeautify.0.99.00.beta.js"></script>
+ <link rel="stylesheet" href="/web/static/lib/select2/select2.css"/>
+ <link rel="stylesheet" href="/website/static/lib/select2-bootstrap-css/select2-bootstrap.css"/>
+
+ <script type="text/javascript" src="/web/static/lib/select2/select2.js"></script>
+
+ <script type="text/javascript" src="/web/static/lib/ckeditor/ckeditor.js"></script>
+ <script type="text/javascript" src="/website/static/lib/ace/ace.js"></script>
+ <script type="text/javascript" src="/website/static/lib/ace/theme-monokai.js"></script>
+ <script type="text/javascript" src="/website/static/lib/ace/mode-xml.js"></script>
+ <script type="text/javascript" src="/website/static/lib/vkbeautify/vkbeautify.0.99.00.beta.js"></script>
+ <t t-call="web.jqueryui_conflict">
<script type="text/javascript" src="/web/static/lib/jquery.ui/js/jquery-ui-1.9.1.custom.js"></script>
- <script type="text/javascript" src="/website/static/lib/bootstrap-tour/bootstrap-tour.js"></script>
- <!-- mutation observers shim backed by mutation events (8 < IE < 11, Safari < 6, FF < 14, Chrome < 17) -->
- <script type="text/javascript" src="/website/static/lib//jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js"></script>
- <script type="text/javascript" src="/website/static/lib/MutationObservers/test/sidetable.js"></script>
- <script type="text/javascript" src='/website/static/lib/nearest/jquery.nearest.js'></script>
- <script type="text/javascript" src="/website/static/lib/MutationObservers/MutationObserver.js"></script>
-
- <script type="text/javascript" src="/website/static/lib/jquery.placeholder/jquery.placeholder.js"></script>
-
- <script type="text/javascript" src="/website/static/src/js/website.editor.js"></script>
- <script type="text/javascript" src="/website/static/src/js/website.editor.newpage.js" groups="base.group_website_designer"></script>
- <script type="text/javascript" src="/website/static/src/js/website.menu.js" groups="base.group_website_designer"></script>
- <script type="text/javascript" src="/website/static/src/js/website.mobile.js"></script>
- <script type="text/javascript" src="/website/static/src/js/website.seo.js"></script>
- <script type="text/javascript" id="website_tour_js" src="/website/static/src/js/website.tour.js"></script>
- <script type="text/javascript" src="/website/static/src/js/website.tour.banner.js" groups="base.group_website_designer"></script>
- <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.snippets.editor.js"></script>
- <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.ace.js"></script>
- <script t-if="translatable" type="text/javascript" src="/website/static/src/js/website.translator.js"></script>
-
- <script type="text/javascript" src="/website/static/src/js/jQuery.transfo.js"></script>
- </xpath>
+ </t>
+ <!-- mutation observers shim backed by mutation events (8 < IE < 11, Safari < 6, FF < 14, Chrome < 17) -->
+ <script type="text/javascript" src="/website/static/lib//jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js"></script>
+ <script type="text/javascript" src="/website/static/lib/MutationObservers/test/sidetable.js"></script>
+ <script type="text/javascript" src='/website/static/lib/nearest/jquery.nearest.js'></script>
+ <script type="text/javascript" src="/website/static/lib/MutationObservers/MutationObserver.js"></script>
+
+ <script type="text/javascript" src="/website/static/src/js/website.editor.js"></script>
+ <script type="text/javascript" src="/website/static/src/js/website.editor.newpage.js"></script> <!-- groups="base.group_website_designer" -->
+ <script type="text/javascript" src="/website/static/src/js/website.menu.js"></script> <!-- groups="base.group_website_designer" -->
+ <script type="text/javascript" src="/website/static/src/js/website.mobile.js"></script>
+ <script type="text/javascript" src="/website/static/src/js/website.seo.js"></script>
+ <script type="text/javascript" src="/website/static/src/js/website.tour.js"></script>
+ <script type="text/javascript" src="/website/static/src/js/website.tour.banner.js"></script> <!-- groups="base.group_website_designer" -->
+ <script type="text/javascript" src="/website/static/src/js/website.snippets.editor.js"></script>
+ <script type="text/javascript" src="/website/static/src/js/website.ace.js"></script>
+ <script type="text/javascript" src="/website/static/src/js/website.translator.js"></script>
+
+ <script type="text/javascript" src="/website/static/src/js/jQuery.transfo.js"></script>
</template>
-<template id="debugger" inherit_option_id="website.layout" name="Debugger & Tests">
+<template id="debugger" inherit_id="website.layout" optional="disabled" name="Debugger & Tests">
<xpath expr='//t[@name="layout_head"]' position="after">
<t t-set="debugger_hook" t-value="1" />
</xpath>
</xpath>
</template>
-<template id="show_sign_in" inherit_option_id="website.layout" inherit_id="website.layout" name="Show Sign In" groups="base.group_public">
+<template id="show_sign_in" optional="enabled" inherit_id="website.layout" name="Show Sign In" groups="base.group_public">
<xpath expr="//ul[@id='top_menu']" position="inside">
<li class="divider"/>
<li>
</xpath>
</template>
-<template id="footer_custom" inherit_option_id="website.layout" name="Custom Footer">
+<template id="footer_custom" inherit_id="website.layout" optional="disabled" name="Custom Footer">
<xpath expr="//div[@id='footer_container']" position="before">
<div class="oe_structure">
<section data-snippet-id='three-columns' class="mt16 mb16">