qweb t-if in 位置属性

qweb t-if in position attribures

我正在 Odoo 中开发一个模块。我需要更改发票报告以添加一些详细信息。

我使用带位置属性的 xpath 并检查是否链接了事件以隐藏默认值 table。

<template id="my_invoice" inherit_id="account.report_invoice_document">
    <xpath expr="//div[@class='page']/table[@class='table table-condensed']" position="attributes">
        <attribute t-if="o.affair_id" name="class">hidden</attribute>
    </xpath>
</template>

这是行不通的。默认值 table 隐藏在每个发票中,即使发票未链接到事务。

我不明白,因为该条件适用于我的第二个模板。

<template id="my_invoice2" inherit_id="account.report_invoice_document">
    <xpath expr="//div[@class='page']/div[@class='row mt32 mb32']" position="after">
        <t t-if="o.affair_id">
            <!-- table with my additional detail -->
        </t>
    </xpath>
</template>

对不起我的英语。我正在学习。

试试这个:

<attribute name="t-att-style">'display: none;' if  o.affair_id else ''</attribute> 

或者甚至这个也:

  <attribute name="t-att-class">'hidden' if  o.affair_id else ''</attribute> 

它可能对您的情况有所帮助。