父级试图
xpath找到元素继承时
- xpath和爬虫时候的xpath的语法略微不同,odoo中xpath,如下
//div[@class='app_settings_block'][1]/sheet/notebook[3]/page/group/group[1]/field[@name='file_location']
每个元素下面一层一层的往下找,如果最后找到的是field,也就是说直接找到的是字段,然后可以继承这改,如下
expr里面写xpath的语法,填写 Xpath 选择父级视图中单个元素的表达式,如果没有匹配的元素或者匹配到多个将会抛错。
position的值,如代码下方<xpath expr="//div[@class='app_settings_block'][1]/sheet/notebook[3]/page/group/group[1]/field[@name='file_location']" position="attributes"> <attribute name="invisible">1</attribute> </xpath>
position:值集包含 inside,replace,before,after 以及 attributes
inside:在expr匹配的元素的内部进行创建
replace:替换expr匹配的元素
before:在expr匹配的元素前加同级内容
after:在expr匹配的元素后加同级内容
attributes:使用 attribute 标签对expr匹配的元素属性进行修改
当 xpath 匹配到唯一元素的时候,position 定义的内容将会直接生效,以下两种表达方式都可以实现同样的效果:
<xpath expr="//field[@name='description']" position="after"> <field name="idea_ids" /> </xpath> <field name="description" position="after"> <field name="idea_ids" /> </field>
继承后也可以直接field,如果是头表的话,直接就可以进行相关的操作
想要把之前的隐藏掉,但是使用正常的方法,设置invisiable属性时候,没用时候,
可以直接把这个字段干掉,直接写替换,如下
如果能用属性值替换用,就不要用该方法
<field name="file_location" position="replace"/>