OpenERP - 仅将字段添加到类别中的某些产品

问题描述:

我正在设置OpenERP v7。我知道如何创建模块等。OpenERP - 仅将字段添加到类别中的某些产品

问题是并非所有的产品都具有相同的字段。例如对于T恤我会有颜色,尺寸。但是对于皮带我会有:材料,长度(作为例子)。

我知道使用多种变体的选项,但它非常混乱。它创建了一个新的列尺寸值但是然后名称的产品也有尺寸值在它。这非常烦人。 另外,只能从销售模块访问产品模板,因此我们的采购部门无权访问它。

如果在用户选择产品类别后出现预定义的模板,我想要更多。由于同一类别的产品将具有相同的现场要求。

我找到了一个更好的办法来解决它,这是通过使用该模块product_custom_attributes,从下载: https://www.odoo.com/apps/7.0/product_custom_attributes/

该模块让我创建可以稍后加载到产品中的一组属性,我也可以根据属性值过滤产品,这很酷。

我会建议你以下。

定义模型中的所有字段(颜色,大小,材质等)。然后根据产品类别隐藏视图。

要隐藏基础上,CATEGORY_ID值某些领域,你可以尝试这样的事:

<field name="some_field" 
     attrs="{'invisible': [('category_id', 'not in', [1, 2, 3])]}"/> 
+0

这是唯一的方法吗?恐怕这会增加数据库的大小,因为很多记录会有空字段,因为它不适用于它们的类别。如果根据所选类别确实隐藏字段,我该怎么做?在用户更改类别名称的情况下,它需要由__category_id__而不是__category_name__来完成。 – EricPb 2014-09-28 08:01:23

+0

恐怕这是唯一可以接受的方法。至少我没有看到另一个。 请参阅我的更新答案,了解如何根据类别ID隐藏某些字段的示例。 – 2014-09-28 10:53:49

+0

谢谢@Andrei,如果它是__in__类别,并且它是__child_of__父类别,我可能会将其修改为仅显示。我可以想象这将成为一个巨大的工作来设置它,但如果这是唯一的方法...... – EricPb 2014-09-29 01:57:54