Odoo 和 Qweb:在报价报告中呈现 HTML

Odoo and Qweb: render HTML in quotation report

我希望能够在 Odoo 的 HTML 中打印报价单的付款条件。

我编辑了 sale.order.form 视图,将 widget="html" 属性添加到术语元素,如下所示:

<field name="note" widget="html" placeholder="Setup default terms and conditions in your company settings."/>

现在我可以在创建或编辑报价时使用 HTML 编辑器。

然后我编辑报价报告以呈现 HTML,使用 t-raw:

<p t-if="doc.payment_term_id.note">
    <span t-raw="doc.payment_term_id.note"/>
 </p>

但是没用。当我打印我的报价时,从 HTML 小部件生成的 HTML 是转义的,它打印 HTML 元素,如

或条款中的

我是不是用错了t-raw?

t-raw 如您所愿。您没有在 sale.order.form 中编辑正确的字段(或者您在模板中更改了错误的行)。

执行 <field name="note" widget="html" placeholder="Setup default terms and conditions in your company settings."/> 然后将 Qweb 模板更改为 <p t-raw="doc.note"/> 会产生预期的变化。

在您的模板中,您正在更改另一个字段(doc.payment_term_id.note,它与 doc.note 不同)。