您可以继承/扩展/更改QWeb模板。
模板继承用于:
模板继承是通过使用两个指令来执行的:
t-inherit
这是要继承的模板的名称,t-inherit-mode
,这是继承的行为:可以将其设置为 primary
以从父模板创建新的子模板,也可以设置为 extension
以就地更改父模板。还可以指定可选的
t-name
指令。如果在主要模式下使用,它将是新创建的模板的名称,否则它将作为注释添加到转换后的模板上,以帮助追溯继承。
对于继承本身,更改是使用 xpaths 指令完成的。请参阅 XPATH 文档以获取完整的可用说明。
主继承(子模板):
<t t-name="child.template" t-inherit="base.template" t-inherit-mode="primary">
<xpath expr="//ul" position="inside">
<li>new element</li>
</xpath>
</t>
扩展继承(就地转换):
<t t-inherit="base.template" t-inherit-mode="extension">
<xpath expr="//tr[1]" position="after">
<tr><td>new cell</td></tr>
</xpath>
</t>