Эквивалентом является функция или директива t-call
. t-call
включает еще один файл шаблона. Вы можете использовать его для переноса содержимого, для которого обычно используется шаблон website.layout
, как показано в примере ниже.
<openerp>
<data>
<template id="addon_name.template_name" name="Template Name">
<t t-call="website.layout">
<div>Hello World</div>
</t>
</template>
</data>
</openerp>
Однако вам не нужно использовать его в качестве оболочки для контента. Вы можете использовать эту директиву как средство для включения других шаблонов в существующий шаблон. Именно так.
<openerp>
<data>
<template id="addon_name.template_name" name="Template Name">
<t t-call="website.layout">
<t t-call="addon_name.top_section"/>
<t t-call="addon_name.middle_section"/>
<t t-call="addon_name.bottom_section"/>
</t>
</template>
</data>
</openerp>
Чтобы это работало, вы должны уже определить свои шаблоны, в моем примере это будут top_section, middle_section и bottom_section. Также обратите внимание, что эти шаблоны не включают оболочку для файла website.layout
. При включении подшаблона вы не хотите включать шаблон website.layout
, так как он предназначен для обеспечения общей структуры веб-страницы и предназначен для использования в качестве оболочки для остального вашего контента.
<openerp>
<data>
<template id="addon_name.top_section" name="Top Section">
<div>Hello World</div>
</template>
</data>
</openerp>
Если вы наследуете от другого шаблона, вы должны сначала сообщить обработчику шаблонов, куда вы хотите внедрить свой код. Это делается с помощью выражения xpath
. В исходном коде Odoo есть много примеров xpath
выражений. Пожалуйста, просмотрите там или в Интернете. Приведенный ниже пример является ответом на сделанные ниже комментарии, касающиеся конкретно шаблона отчета. При создании шаблонов отчетов не следует включать шаблон website.layout
. Это для просмотра веб-сайта, а не для отчета qweb
.
<openerp>
<data>
<template id="addon_name.template_name" inherit_id="addon_name.template_name">
<xpath expr="//div[@class='class_name']" position="replace">
<t t-call="addon_name.top_section"/>
<t t-call="addon_name.middle_section"/>
<t t-call="addon_name.bottom_section"/>
</xpath>
</template>
</data>
</openerp>
person
Phillip Stack
schedule
25.01.2017