qWeb的foreach循环 - xiaohao0576/odoo-doc GitHub Wiki
这些自动创建的键是在使用 t-foreach 指令遍历集合时,QWeb模板引擎为每次迭代自动添加到 values 字典中的辅助变量。
自动创建的键说明 假设你使用 ,那么每次循环会自动创建:
product_size - 集合的总大小/长度
用于显示总数,如"共10个产品" product_index - 当前项的索引(从0开始)
用于显示序号,如"第3项" product_value - 当前项的值
对于字典,这是值部分;对于列表,等同于 product product_first - 是否是第一项(布尔值)
用于给第一项添加特殊样式,如
product_last - 是否是最后一项(布尔值)
用于给最后一项添加特殊样式或分隔符 product_odd - 是否是奇数行(布尔值,0为偶数)
用于交替行样式 product_even - 是否是偶数行(布尔值)
与 product_odd 相反 product_parity - 奇偶性字符串('odd' 或 'even')
方便直接用于CSS类名,如
<table>
<t t-foreach="items" t-as="item">
<tr t-att-class="item_parity">
<td><t t-out="item_index + 1"/></td> <!-- 显示序号 1, 2, 3... -->
<td><t t-out="item.name"/></td>
<td t-if="item_first">第一项</td>
<td t-if="item_last">最后一项</td>
</tr>
</t>
<tr>
<td colspan="3">共 <t t-out="item_size"/> 项</td>
</tr>
</table>