带有模型记录的 Odoo 14 渲染模板
Odoo 14 render template with model records
我是 QWeb 模板引擎的新手,我正在尝试使用通过 request.render
函数传递给 class 名称的模型记录的属性。
例如:
在我的 Web 控制器中,我响应:
return request.render('sync.product_sync', {'odoo_products': products_odoo})
现在,我想在 div:
的 class 标签中插入每个 >products_odoo< 的 id
属性
<t t-foreach="odoo_products" t-as="odoo_prod">
<div class="odoo_prod_... {{ odoo_prod.id }}"> <t t-esc="odoo_prod.name"/> </div>
</t>
结果
<div class="odoo_prod_... {{ odoo_prod.id }}"> Productname 1 </div>
<div class="odoo_prod_... {{ odoo_prod.id }}"> Productname 2 </div>
<div class="odoo_prod_... {{ odoo_prod.id }}"> Productname 3 </div>
<div class="odoo_prod_... {{ odoo_prod.id }}"> Productname 4 </div>
...
...
我刚刚发现 _index 语法没有给我想要的结果...
谢谢
这是因为你添加了class=但是Odoo只会在属性以t-attf-$name为前缀时处理属性。
你的情况是 t-attf-class="odoo_prod_... {{ odoo_prod.id }}"
示例:
<t t-foreach="[1, 2, 3]" t-as="item">
<li t-attf-class="row {{ (item_index % 2 === 0) ? 'even' : 'odd' }}">
<t t-esc="item"/>
</li>
</t>
我是 QWeb 模板引擎的新手,我正在尝试使用通过 request.render
函数传递给 class 名称的模型记录的属性。
例如:
在我的 Web 控制器中,我响应:
return request.render('sync.product_sync', {'odoo_products': products_odoo})
现在,我想在 div:
的 class 标签中插入每个 >products_odoo< 的id
属性
<t t-foreach="odoo_products" t-as="odoo_prod">
<div class="odoo_prod_... {{ odoo_prod.id }}"> <t t-esc="odoo_prod.name"/> </div>
</t>
结果
<div class="odoo_prod_... {{ odoo_prod.id }}"> Productname 1 </div>
<div class="odoo_prod_... {{ odoo_prod.id }}"> Productname 2 </div>
<div class="odoo_prod_... {{ odoo_prod.id }}"> Productname 3 </div>
<div class="odoo_prod_... {{ odoo_prod.id }}"> Productname 4 </div>
...
...
我刚刚发现 _index 语法没有给我想要的结果...
谢谢
这是因为你添加了class=但是Odoo只会在属性以t-attf-$name为前缀时处理属性。
你的情况是 t-attf-class="odoo_prod_... {{ odoo_prod.id }}"
示例:
<t t-foreach="[1, 2, 3]" t-as="item">
<li t-attf-class="row {{ (item_index % 2 === 0) ? 'even' : 'odd' }}">
<t t-esc="item"/>
</li>
</t>