在Odoo qweb报告中添加xpath

时间:2018-04-13 14:08:03

标签: odoo qweb

如何继承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>

2 个答案:

答案 0 :(得分:3)

您可以使用xpath在报告中找到最后一个p元素:

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

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

我假设p元素在你的基础报告中,而xpath-part在你的继承报告中。

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

希望这有助于你。

BR,

韦科

答案 1 :(得分:3)

确保继承模板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>