在 Odoo qweb 报告中添加 xpath

Add xpath in Odoo qweb report

如何在原始报告的最后一段后继承 qweb 添加新元素:

<p t-if="o.comment">
    <strong>Comment:</strong>
    <span t-field="o.comment"/>
</p>

//add after <p t-if="o.comment">
<xpath expr="??" position="after">
     <p>new</p>
</xpath>

您可以像这样使用 xpath 找到报告中的最后一个 p 元素:

<xpath expr="(//p)[position()=last()]" position="after">

(//p) 部分查找所有 p 元素,过滤器 [position()=last()] 选择其中的最后一个。

我假设 p 元素在您的基础报告中,而 xpath 部分在您继承的报告中。

请记住,只有当您的模型在评论字段中有数据时,p 元素才会存在。 xpath不知道最后一个是不是注释。它只是盲目地从报告中获取最后一个,在您的示例中,如果 t-if="o.comment" 不正确,它不会出现在报告中。

希望对您有所帮助。

Br,

维科

确保如下所示继承模板 ID,然后添加 xpath。希望对你有帮助。

<template id="report_saleorder_inherit" inherit_id="report.external_layout_footer">
    <xpath expr="//p[@t-if='o.comment']" position="after">
        <p>new</p>
    </xpath>
</template>