odoo中的模板继承

Min*_*yen 8 openerp openerp-8 odoo

我想为odoo创建一个新主题.我通过创建一个新模块并安装它来完成它.我在这里看到的文件中说odoo通过使用t-extend关键字来支持模板继承.但是我做不到.这是我的自定义模板:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
    <template id="website.homepage" name="Homepage" page="True">
        <div class="header">
            <h1>FOO<h1>
            <div class="main">
            </div>
        </div>
    </template>

    <template id="website.contact" name="Homepage" page="True">
        <t t-extend="website.homepage">
            <t t-jquery="div.main" t-operation="inner">
                <h1>FOO 2</h1>
            </t>
        </t>
    </template>

</data>
</openerp>
Run Code Online (Sandbox Code Playgroud)

模板website.contact应该显示FOO和FOO 2,但它只显示FOO 2.请帮我解释一下.谢谢.

Lud*_*mer 10

您使用客户端模板的语法,但这些是服务器端模板.您将继承与服务器端模板一起使用:

<template id="contact" inherit_id="website.homepage">
    <xpath expr="//div[@class='main']" position="inside">
        <h1>FOO 2</h1>
    </xpath>
</template>
Run Code Online (Sandbox Code Playgroud)

您可以在官方文档中阅读更多内容.

  • 我认为你的一些困惑可能来自于Odoo中的继承通常不会*创建一个新对象的事实.它*修改*现有对象.要根据其他模板功能创建新模板,您可能需要使用`t-call`. (2认同)