今天有一位Odoo用户在通过康虎云报表打印产品变体的产品标签时,需要打印出这产品变体的多个属性,在取产品属性时遇到点困难,我研究了一下对象之间的关系,找出了取值的办法。康虎云报表与odoo的集成方法大家去参考官方的视频或教程,这里只展示一下在odoo中如何取出值并生成json。如以下代码所示:
<t t-foreach="docs" t-as="product">
<t t-set="att_name" t-value="''"/>
<t t-foreach="product.attribute_value_ids" t-as="attr"> <!-- 循环取产品的属性ID -->
<t t-set="att_name" t-value="att_name + attr.attribute_id.name + ': ' + attr.name + ';'"/> <!-- 根据属性ID取出属性名称和属性值并拼成一个字符串-->
</t>
/*生成主表数据*/
_tableLabel.Data.push(
{
/*其他字段省略*/
"attribute_names" : "<t t-esc="att_name"/>", /*把产品的多个属性生成到json中*/
});
</t>