RML文档的动态样式

时间:2017-03-09 12:30:00

标签: openerp openerp-7 rml

我需要的是让表格的每一行都有不同的背景颜色。我已经成功创建了可以从rml文档调用并返回十六进制颜色的方法。我需要的是在rml方面将tr标签的background-color属性设置为my方法的返回值。如何才能做到这一点 ?我一直在使用官方documentation并专门查看第11章条件格式,但我没有看到任何内容。基本上我想做的事情如下:

<tr style="background-colour: [[_get_colour(index)]];" />

_get_colour将返回一个字符串,其中包含颜色的十六进制值

编辑:事实证明,根据this,在openerp v7中没有实现用于条件格式设置的docIf RML标记,我不得不采用不同的解决方案。 / p>

2 个答案:

答案 0 :(得分:1)

目前无法对此进行测试,但这可能有用:

每次迭代两次<tr>(每种样式1次)。在其中一个中,检查索引是偶数还是removeParentNode('tr'),在另一个中,检查索引是奇数还是removeParentNode('tr')。这样,每次迭代时只会显示一个或另一个表行,但不会同时显示这两个。

示例(未经测试):

<tr style="style1">[[ (index%2 == 0 and display.content) or removeParentNode('tr')]]</tr>
<tr style="style2">[[ (index%2 != 0 and display.content) or removeParentNode('tr')]]</tr>

答案 1 :(得分:1)

我找到了一个在系统中的rml中解决该问题的示例。我最终解决了以下问题:

public static function findIdentityByAccessToken($token, $type = null)
{
    return static::findOne(['auth_key' => $token]);
}