ODOOV11-如何使用CSS类设置看板样式,并将字段值作为类名的一部分
网上有一些相关的问题,但我还没有找到有效的答案,所以我来了 我有一个自定义模块,可向crm.lead添加一个字段:ODOOV11-如何使用CSS类设置看板样式,并将字段值作为类名的一部分,css,odoo,kanban,Css,Odoo,Kanban,网上有一些相关的问题,但我还没有找到有效的答案,所以我来了 我有一个自定义模块,可向crm.lead添加一个字段: xx_ue_brand_id = fields.Many2one('xx.ue.brand', string='Brand') 相关模型只包含一个名称和活动标志。 我已经在crm相关视图中使用了它,所以用户可以将潜在客户链接到特定品牌 使用品牌价值,我想在看板项目上设置颜色。 由于每个品牌都有其特定的颜色,我不希望看板项目使用标准的Odoo颜色,这可以由颜色选择器设置,并
xx_ue_brand_id = fields.Many2one('xx.ue.brand', string='Brand')
相关模型只包含一个名称和活动标志。
我已经在crm相关视图中使用了它,所以用户可以将潜在客户链接到特定品牌
使用品牌价值,我想在看板项目上设置颜色。
由于每个品牌都有其特定的颜色,我不希望看板项目使用标准的Odoo颜色,这可以由颜色选择器设置,并添加一个类似“oe_看板_颜色_5”的类
我在正确加载的较少文件中定义了自己的css类。每个品牌都有一个类别,否决看板上设置的边框颜色。
我在类定义中包含了品牌名称,因此很清楚该样式用于哪个品牌。
像这样:
.crm_kanban_brand_*brandname-x* { &:after {background-color:#2E3092!important;} }
当我通过Chrome的开发者工具将这个类添加到看板项目中时,边框设置为正确的颜色
但是。。。(最后是我的问题)
我无法通过xpath表达式动态设置类,我的最佳猜测如下
<xpath expr="//div[hasclass('o_dropdown_kanban')]/parent::div" position="attributes">
<attribute name="t-att-class">'crm_kanban_brand_%s' % record.xx_ue_brand_id.name</attribute>
</xpath>
“crm\u看板\u品牌%s”%record.xx\u ue\u brand\u id.name
注意,当我在不使用变量的情况下添加类定义时,整个过程正如预期的那样工作,将相同的类添加到所有看板项目中
<xpath expr="//div[hasclass('o_dropdown_kanban')]/parent::div" position="attributes">
<attribute name="class">crm_kanban_brand_*brandname-x*</attribute>
</xpath>
客户关系管理看板品牌品牌品牌名称-x*
对于如何将字段值用作类名的一部分的任何帮助,我都将不胜感激。多亏了CZoellner的建议,我最终将此作为一个有效的解决方案
<xpath expr="//div[hasclass('o_dropdown_kanban')]/parent::div" position="attributes">
<attribute name="t-attf-class" separator=" " add="crm_kanban_brand_#{record.xx_ue_brand_id.value}"/>
</xpath>
将呈现为:
<li class="row even">1</li>
<li class="row odd">2</li>
<li class="row even">3</li>
1
2
3
您是否尝试过使用t-attf-class
?类似于crm\u kanban\u brand\uu{{record.xx\u ue\u brand\u id.name}
的东西可能会起作用。谢谢!你的评论为我指明了正确的方向。
<li class="row even">1</li>
<li class="row odd">2</li>
<li class="row even">3</li>