odoo创建新模板及继承已有模板

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tsoTeo/article/details/85161814

在 static/xml/new_template.xml 中创建新的模板 demo001

<?xml version="1.0" encoding="UTF-8"?>
<templates id="template001" xml:space="preserve">
    <t t-name="demo001">
        新模板
    </t>
</templates>

继承已有模板,增加自定义内容

<?xml version="1.0" encoding="UTF-8" ?>
<templates id="template002" xml:space="preserve">       # id 最好是唯一标识
   <t t-extend="HrAttendanceMyMainMenu">                # t-extend 的值是要继承的 t-name
        <t t-jquery=".o_hr_attendance_kiosk_mode"       # t-jquery 的值是JQ要定位的元素
           t-operation="append">                        # t-operation 的值是对JQ定位的元素进行的操作 append after before replace innner prepend
            <div>                                       # 自定义继承内容
                <span style="color:red">自定义继承内容</span>
            </div>                                      
        </t>
    </t>
</templates>

还可以使用自定义模板

<?xml version="1.0" encoding="UTF-8" ?>
<templates id="template003" xml:space="preserve">       # id 唯一标识
   <t t-extend="HrAttendanceMyMainMenu">                # t-extend 的值是要继承的 t-name
        <t t-jquery=".o_hr_attendance_kiosk_mode"       # t-jquery 的值是JQ要定位的元素
           t-operation="append">                        # t-operation 的值是对JQ定位的元素进行的操作 ※
            <t t-call="demo001"/>                       # t-call 使用定义好的 t-name 模板                                    
        </t>
    </t>
</templates>

※ t-jquery 选择器,用于定位元素,t-operation 对定位的元素进行操作

操作类型

append - 新节点的内容添加到原节点的后面(最后一个子节点后)

prepend - 新节点内容添加到原节点前面(第一个子节点前)

before - 新节点内容添加到原节点前

after - 新节点内容添加到原节点后

inner - 新节点内容替换原节点的子节点replace - 新节点内容直接替换原节点

如果没有指定operation,那么模板内容会被解析成javascript节点,并将context节点设置为this 

展开阅读全文

没有更多推荐了,返回首页