如何在不影响整个站点的情况下继承和修改 Odoo 中特定页面的 "website.layout" 模板?

How can I inherit and modify "website.layout" template for a specific page in Odoo without affect the whole site?

我想创建一个新的 checkout/payment 模板,其布局与整个网站不同。例如,它有一个带有徽标的 header 导航栏,一个居中的全角结帐向导等...问题是,我想重用 "website.layout" 模板以便我可以使用Odoo 的其他 built-in 功能。

目前,我通过在我的模块中基于 "web.layout" 而不是 "website.layout" 创建一个新模板来实现这一点。但我觉得不对。因为正如我上面所说,我不能使用 Odoo 的 built-in 功能,例如网站构建器、Web 编辑器……我想知道是否有任何方法可以替换 built-in header 和 <t t-call.. 块内的页脚。

尝试使用 xpath 表达式替换页眉和页脚,并将您的代码添加到该 xpath 表达式中以自定义页眉和页脚。请参考这个link例如

<template id="web_external_layout_inherited" 
      inherit_id="web.external_layout_standard" customize_show="True">
<xpath expr="//div[@class='header']" position="replace">
       your code.
</xpath></template>

您还可以在 qweb 中添加自定义页眉和页脚。