我需要了解在odoo中使用xpath

时间:2019-02-01 09:56:02

标签: odoo

我使用xpath自定义odoo报告,但是我无法理解如何在xpath标记中使用位置属性,请给我文档和示例以使用position="replace"和position =“ inside” ...

1 个答案:

答案 0 :(得分:2)

xpath中的可用位置是 1:内部 2:之后 3:之前 4:更换 5:属性

1:内部

<record model="ir.ui.view" id="view_partner_form">
<field name="name">res.partner.form.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
    <notebook position="inside">
        <page string="Relations">
            <field name="relation_ids" colspan="4" nolabel="1"/>
        </page>
    </notebook>
</field>

这会将页面添加到基本模块中res.partner.form视图的笔记本中。

2:之后

<record model="ir.ui.view" id="view_partner_form4">
<field name="name">res.partner.form.inherit4</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
    <field name="lang" position="after">
        <field name="relation_ids"/>
    </field>
</field>

这将在lang字段之后添加related_ids字段。

3:之前

<record model="ir.ui.view" id="view_partner_form3">
<field name="name">res.partner.form.inherit3</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
    <field name="lang" position="before">
        <field name="relation_ids"/>
    </field>
</field>

此语言字段在lang字段之前添加。

4:替换

<record model="ir.ui.view" id="view_partner_form2">
<field name="name">res.partner.form.inherit2</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
    <field name="lang" position="replace"/>
</field>

要替换任何元素,我们可以使用替换位置

5:属性

<record model="ir.ui.view" id="view_partner_form2">
<field name="name">res.partner.form.inherit2</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//form/field[@name='lang']" position="attributes">
       <attribute name="string">New String for field</attribute>
       <attribute name="readonly">(1,0)field editing</attribute>
       <attribute name="invisible">(1,0) visibility</attribute>
       <attribute name="groups">groups for field</attribute>
</xpath>

check this odoo's official documentation