2

我正在向 Odoo 企业 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>

结果:如您所见,价格值下方为零,但未显示字符串标签“库存”。

在此处输入图像描述

尝试了其他事情:

添加下一个代码:

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

给我

在此处输入图像描述

将字段放入组中给了我

在此处输入图像描述

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

感谢您的帮助。

4

1 回答 1

3

问题是该字段price位于div容器内,因此您必须将字段放在此之后(这是DOMdiv中字段的父级)。price因此,您必须告诉xpath您要将字段放在 field 的 DOM 父级之后price,而不仅仅是在代码中的字段之后。根据您要查找的样式,您可以选择以下任何选项:

选项 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>
于 2017-11-16T09:57:16.650 回答