如何将字段添加到继承视图的选项卡/页面?

时间:2012-07-25 09:37:28

标签: openerp

如何继承视图以在“会话”标签中添加字段?

例如:

<record model="ir.ui.view" id="partner_sessions_form_view">
    <field name="name">partner.sessions.name</field>
    <field name="model">res.partner</field>
    <field name="type">form</field>
    <field name="inherit_id" ref="base.view_partner_form" />
    <field name="arch" type="xml">
    <xpath expr="/form/notebook/page[@string='Notes']" position="after">
        <page string="Sessions">
            <field name="session_ids" nolabel="1" colspan="4"/>
        </page>
    </xpath>
    </field>
</record>

这会添加一个页面,但如何在页面会话中添加字段?

3 个答案:

答案 0 :(得分:1)

如果您想在上面创建的“会话”页面中添加字段,那么您应该提供

<record model="ir.ui.view" id="partner_sessions_form_view_again_inherited">
    <field name="name">partner.sessions.name.inherited</field>
    <field name="model">res.partner</field>
    <field name="type">form</field>
    <field name="inherit_id" ref="partner_sessions_form_view" />
    <field name="arch" type="xml">
    <xpath expr="//field[@name='session_ids']" position="before">
            <field name="new_field1" nolabel="1" colspan="4"/>
    </xpath>
    </field>
</record>

如果要添加字段到session_ids树或表单视图,那么

<xpath expr="//field[@name='session_ids']/tree/field[@name='already_existing_field']" position="after">
    <field name="new_field1" />
</xpath>

答案 1 :(得分:1)

您需要在页面会话中找到该字段 像这样(但该页面必须是他们的视图):

 <xpath expr="//page[@string='Sessions']/field[@name='some_field'] position="after">
     <field name="session_ids" nolabel="1" colspan="4"/>
 </xpath>

由于

答案 2 :(得分:1)

the documentation中很好地介绍了这一点。最简单的情况是在现有字段之后添加新字段。在此示例中,您将relation_ids字段放在lang字段之后。

<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>
</record>

如果该字段出现在多个位置,则必须使用an XPath element。例如,如果lang字段出现在子视图的树视图及其表单视图中。