我想编写一个自定义模块来替换邮件模板。
这些模板包含在基本的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>
由于自定义模块要替换此标准基本模板:
<data noupdate>
更新会发生什么?Odoo 10社区版。
要替换电子邮件模板,只需在模板名称前面添加插件名称后跟点(。),并确保从前端删除默认电子邮件模板。然后更新您的自定义插件。这将取代旧模板。
例:
sale
<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 <%s>' % (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功能。