Odoo 10 - 用于替换邮件模板的自定义模块

问题描述 投票:1回答:2

我想编写一个自定义模块来替换邮件模板。

这些模板包含在基本的Odoo插件中,例如销售:

sale.order模板由文件/sale/data/mail_template_data.xml提供

该模板如下:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data noupdate="1">
    <!--Email template -->
    <record id="email_template_edi_sale" model="mail.template">
        <field name="name">Sales Order - Send by Email</field>¬

    ...
</odoo>

由于自定义模块要替换此标准基本模板:

  • 自定义模块可以提供具有相同ID的记录来替换此邮件模板吗?
  • 什么应该写在qazxsw poi?
  • 如果模块<data noupdate>更新会发生什么?

Odoo 10社区版。

odoo odoo-10
2个回答
3
投票

要替换电子邮件模板,只需在模板名称前面添加插件名称后跟点(。),并确保从前端删除默认电子邮件模板。然后更新您的自定义插件。这将取代旧模板。

例:

sale

2
投票
<record id="sale.email_template_edi_sale" model="mail.template">
    <field name="name">Sales Quotation</field>
    <field name="email_from">${(object.user_id.email and '%s &lt;%s&gt;' % (object.user_id.name, object.user_id.email) or '')|safe}</field>
    <field name="subject">${object.company_id.name} ${object.state in ('draft', 'sent') and 'Quotation' or 'Order'} (Ref ${object.name or 'n/a' })</field>
    <field name="partner_to">${object.partner_invoice_id.id}</field>
    ....
    ....
</record>

请添加您的代码

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data noupdate="1">
    <!--Email template -->
    <record id="email_template_edi_sale" model="mail.template">
        <field name="name">Sales Order - Send by Email</field>

    ...
</odoo>

这将删除原始邮件模板并添加具有相同ID的新模板,以便不会干扰odoo功能。

© www.soinside.com 2019 - 2024. All rights reserved.