【问题标题】:OpenERP - Add fields only to some products inside a CategoryOpenERP - 仅向类别内的某些产品添加字段
【发布时间】:2014-09-26 05:38:50
【问题描述】:

我正在设置 OpenERP v7。我知道如何创建模块等等。

问题在于并非所有产品都具有相同的字段。例如对于 T 恤,我会选择颜色、尺寸。但对于腰带,我将拥有:材料、长度(例如)。

我知道使用多变体的选项,但它非常令人困惑。它为 Dimension values 创建了一个新列,但随后产品的 Name 中也包含 Dimension values。这很烦人。 此外,Product Templates 的访问权限只能从 Sales 模块 访问,因此我们的采购部门无法访问它。

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

【问题讨论】:

    标签: openerp openerp-7


    【解决方案1】:

    我会建议你以下。

    定义模型中的所有字段(颜色、尺寸、材料等)。然后根据产品类别隐藏视图。

    要根据 category_id 值隐藏某些字段,您可以尝试如下操作:

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

    【讨论】:

    • 这是唯一的方法吗?恐怕这会增加数据库的大小,因为很多记录将有空字段,因为它不适用于它们的类别。如果我确实根据所选类别隐藏字段,我该怎么做?如果用户更改类别名称,则需要由 category_id 而不是 category_name 完成。
    • 恐怕这是唯一可以接受的方法。至少我没有看到另一个。有关如何根据类别 ID 隐藏某些字段的示例,请参阅我的更新答案。
    • 谢谢@Andrei,我可能会将其修改为仅显示它是否在in 类别中,如果它是child_of 父类别。我可以想象这将成为一项巨大的工作来设置它,但如果这是唯一的方法......
    【解决方案2】:

    我找到了更好的解决方法,即使用模块 product_custom_attributes,可从以下位置下载:https://www.odoo.com/apps/7.0/product_custom_attributes/

    这个模块让我创建了可以稍后加载到产品中的属性集,我还可以根据属性值过滤产品,这很酷。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-15
      • 1970-01-01
      • 1970-01-01
      • 2014-06-21
      • 1970-01-01
      • 2021-12-24
      相关资源
      最近更新 更多