#xml #odoo #odoo-11
#xml #odoo #odoo-11
Вопрос:
Я пытался создать новый шаблон электронной почты для счетов. Что я сделал, так это скопировал весь существующий шаблон электронной почты для счетов (xml id: email_template_edi_invoice
) за исключением body_html
поля. И вот в чем проблема:
Если я заполняю body_html
using CDATA
, я получаю следующую ошибку ввода:
Element odoo has extra content: data, line 6
Однако, если я его не использую, он работает. Я упростил body_html
содержимое, но проблема все еще существует.
Работает следующий шаблон электронной почты:
<?xml version="1.0" ?>
<odoo>
<data>
<!--Email template -->
<record id="email_template_edi_invoice_v8" model="mail.template">
<field name="name">Invoicing: Invoice email v8.0</field>
<field name="email_from">${(object.user_id.email and 'amp;quot;%samp;quot; amp;<%samp;>' % (object.user_id.name, object.user_id.email) or '')|safe}</field>
<field name="subject">${object.company_id.name} Invoice (Ref ${object.number or 'n/a'})</field>
<field name="partner_to">${object.partner_id.id}</field>
<field name="model_id" ref="account.model_account_invoice"/>
<field name="auto_delete" eval="True"/>
<field name="report_template" ref="account.account_invoices"/>
<field name="report_name">Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' and 'draft' or ''}</field>
<field name="lang">${object.partner_id.lang}</field>
<field name="body_html" type="html">
<div>
Hola
</div></field>
</record>
</data>
</odoo>
Следующий шаблон электронной почты не работает (выдает ошибку дополнительного содержимого):
<?xml version="1.0" ?>
<odoo>
<data>
<!--Email template -->
<record id="email_template_edi_invoice_v8" model="mail.template">
<field name="name">Invoicing: Invoice email v8.0</field>
<field name="email_from">${(object.user_id.email and 'amp;quot;%samp;quot; amp;<%samp;>' % (object.user_id.name, object.user_id.email) or '')|safe}</field>
<field name="subject">${object.company_id.name} Invoice (Ref ${object.number or 'n/a'})</field>
<field name="partner_to">${object.partner_id.id}</field>
<field name="model_id" ref="account.model_account_invoice"/>
<field name="auto_delete" eval="True"/>
<field name="report_template" ref="account.account_invoices"/>
<field name="report_name">Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' and 'draft' or ''}</field>
<field name="lang">${object.partner_id.lang}</field>
<field name="body_html" type="html"><![CDATA[
<div>
Hola
</div>]]></field>
</record>
</data>
</odoo>
Может ли кто-нибудь, кто столкнулся с этой проблемой, дать мне подсказку о том, что происходит?
Комментарии:
1. Если вы удалите свои
<data></data>
теги, вы можете получить более полезную ошибку.data
Элементы больше не нужны, если вы не хотите использоватьnoupdate="1"
.2. @travisw Я удалил
data
теги, но затем появилось сообщение об ошибке: Элемент odoo содержит дополнительное содержимое: запись, строка 8 .3. Попробуйте использовать жестко запрограммированные значения для запуска всего? Если он загрузит это, затем медленно добавляйте
${...}
фрагменты, пока он снова не сломается.
Ответ №1:
В остальном выглядит корректно, но атрибут type=”html”
может вызвать вашу ошибку. Попробуйте без этого, как это
...
<field name="body_html"><![CDATA[
...
Комментарии:
1. В этом и заключалась проблема. Без
type="html"
работ. Спасибо @Veikko.