使用t-set设置变量的值

来自Odoo大V社-odoo中文开发手册
95102545讨论 | 贡献2017年8月7日 (一) 23:40的版本 (创建页面,内容为“对于更复杂的逻辑,我们可以将表达式的结果存储到变量中,以便以后在模板中使用它。要做到这点,需要使用t-set指令,命...”)

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

对于更复杂的逻辑,我们可以将表达式的结果存储到变量中,以便以后在模板中使用它。要做到这点,需要使用t-set指令,命名的变量并通过t-value指令设置计算指定的值表达式。

例如,下面的代码将错过最后期限的渲染为红色,就像在上一节中,但使用red_or_black变量为CSS类的使用,如下所示:

<t t-set="red_or_black" t-value=" record.date_deadline.raw_value and   record.date_deadline.raw_value lte (new Date()) 
  ? 'oe_kanban_text_red' : ''" />
<li t-att-class="red_or_black">
<field name="date_deadline" />
</li>

变量也可以将HTML内容分配给变量,如下面的示例:

<t t-set="calendar_sign">
<span class="oe_e"></span>
</t>
<t t-raw="calendar_sign" />

oe_e CSS类使用 Entypo pictogram字体。代表日历符号的HTML被存储在变量中,这个变量在模板需要时可以使用它。Font Awesome图标集也非常好用,可能已被使用。