Odoo 在 xpath 中不显示字段标签

问题描述 投票:0回答:1

我正在向 Odoo enterprise 11 中的“product.supplierinfo”模块添加自定义字符串字段 (stock_value),但我无法让它正确显示标签。

我继承了该模块,然后向模块和通过 xpath 的视图添加了一个新字段。

问题:未显示与新字段相关的字符串。

模块:

class class_name(models.Model):
    _inherit                        = 'product.supplierinfo'
    stock_value                     = fields.Integer(string="Stock")

查看:

<!-- Stock value in the vendors -->
<record id="view_product_product_supplierinfo_form_view" model="ir.ui.view">
    <field name="name">product.supplierinfo.product.form</field>
    <field name="model">product.supplierinfo</field>
    <field name="inherit_id" ref="product.product_supplierinfo_form_view"/>
    <field name="arch" type="xml">
    <xpath expr="//field[@name='price']" position="after">
        <field name="stock_value" />
    </xpath>
    </field>
</record>

结果: 正如您所看到的,价格值下方有一个零,但未显示字符串标签“Stock”。

尝试了其他事情:

添加下一个代码:

<separator />
<label for="stock_value" string="Stock Value"/>

给我

将字段放入组中给了我

我还尝试在最后一个视图中将位置更改为“之前”,但我无法使其看起来应有的样子。我尝试使用 @string 但不再有效。

python xml odoo odoo-11
1个回答
3
投票

问题是字段

price
位于
div
容器内,因此您必须将字段放在此
div
之后(这是 DOM 中字段
price
的父级)。因此,您必须告诉
xpath
您希望将字段放在字段
price
的 DOM 父级之后,而不是像代码中那样放在字段之后。根据您想要的风格,您可以选择以下任意选项:

选项 1(您也可以将

class="oe_inline
添加到您的字段中”):

<!-- Stock value in the vendors -->
<record id="view_product_product_supplierinfo_form_view" model="ir.ui.view">
    <field name="name">product.supplierinfo.product.form</field>
    <field name="model">product.supplierinfo</field>
    <field name="inherit_id" ref="product.product_supplierinfo_form_view"/>
    <field name="arch" type="xml">
        <xpath expr="//field[@name='price']/.." position="after">
            <label for="stock_value"/>
            <div>
                <field name="stock_value"/>
            </div>
        </xpath>
    </field>
</record>

选项2

<!-- Stock value in the vendors -->
<record id="view_product_product_supplierinfo_form_view" model="ir.ui.view">
    <field name="name">product.supplierinfo.product.form</field>
    <field name="model">product.supplierinfo</field>
    <field name="inherit_id" ref="product.product_supplierinfo_form_view"/>
    <field name="arch" type="xml">
        <xpath expr="//field[@name='price']/.." position="after">
            <field name="stock_value"/>
        </xpath>
    </field>
</record>
© www.soinside.com 2019 - 2024. All rights reserved.