我要将自定义字符串字段(stock_value)添加到&product;产品和服务中心' Odoo enterprise 11中的模块,但我无法正确显示标签。
我继承了该模块,然后通过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>
结果,因为你可以看到零价格低于价格值,但是字符串标签&#39; Stock&#39;没有显示。
尝试了其他方法:
添加下一个代码:
<separator />
<label for="stock_value" string="Stock Value"/>
给我
将字段放入组中会给我
我还试过将位置更改为&#39;之前&#39;在最后一个视图中,我无法让它看起来应该如此。我尝试使用@string但不再有效。
感谢您的帮助。
答案 0 :(得分:3)
问题是,字段price
位于div
容器内,因此您必须将字段放在此div
之后(字段price
的父字段在DOM中)。因此,您必须告诉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>