odoo视图继承

odoo视图继承 简介继承

在odoo里可以通过继承的方式来改写已经存在的view

对比view的定义视图定义中写法多了inherit_id

inherit_id指向要改写的view

<field ref="id_category_list"/>

在arch里用xpath定位改写的元素 <!-- 改写 ibuilding list 列表视图 --> <record model="ir.ui.view"> <field>building.list.view</field> <field>ibuilding.list</field> <field ref="building_list"/> <field type="xml"> <!-- 找到ids字段,在其后添加idea_id字段 --> <xpath expr="//field[@name='ids']" position="after"> <field string="Number of ideas"/> </xpath> <!-- 找到 upload 字段,在其后添加idea_ids字段 --> <xpath expr="//field[@name='upload']" position="replace"> <field string="下载一个文件"/> </xpath> </field> </record>

注意找到的元素必须是一个,如果定位出多个元素或者是空,都会报错。

expr Xpath表达式用来选择父视图中的某个元素,如果没找到或找到多个元素会抛出一个异常

position定位有如下选择

inside 在内部结尾插入元素

replace 替换元素

before 在之前插入元素

after 在其后插入元素

attributes 修改xml的属性

当仅匹配一个field时,erpr表达式可以简化如下 <xpath expr="//field[@name='upload']" position="replace"> <field /> </xpath> <field position="replace"> <field /> </field>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjspw.html