odoo 在创建电子邮件模板时给出使用 email.template 的解析错误
odoo gives parse error on using email.template while creating email template
我想在 odoo 中创建电子邮件模板。我的代码如下,
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<record id="room_request_approval" model="email.template">
<field name="name">Approval Notification</field>
<field name="email_from">${object.users_company.email}</field>
<field name="subject">Room request approved</field>
<field name="email_to" >${object.assignee.email}</field>
<field name="auto_delete" eval="True"/>
<field name="model_id" ref="model_request_room"/>
<field name="body_html"><![CDATA[
<html>
<head>
<title>Room Request Approved</title>
<style>
span.oe_mail_footer_access {
display:block;
text-align:center;
color:grey;
}
</style>
</head>
<body>
<p>Hiii</p>
</body>
</html>
]]>
</field>
</record>
报错如下,ParseError: "email.template" while parsing file
您是否检查过问题是否出在 body_html
字段内?尝试使用更简单的方法,如下所示,并将 safe 添加到电子邮件中:
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<record id="room_request_approval" model="email.template">
<field name="name">Approval Notification</field>
<field name="email_from">${(object.users_company.email or '')|safe}</field>
<field name="subject">Room request approved</field>
<field name="email_to" >${(object.assignee.email or '')|safe}</field>
<field name="auto_delete" eval="True"/>
<field name="model_id" ref="model_request_room"/>
<field name="body_html"><![CDATA[
<p>Hello!</p>]]></field>
</record>
</data>
</openerp>
我猜你的模型名为 request.room
,它有两个 Many2one
字段,名为 users_company
和 assignee
,不是吗?
并且在 Python 代码中,您应该有这样的东西来发送邮件:
request_room_recordset = self.env['request.room'].search(
whatever_domain).ensure_one()
et_pool = self.pool.get('email.template')
mail_sent = et_pool.send_mail(
self.env.cr, 1, template.id, request_room_recordset.id,
force_send=True, context=self.env.context)
尝试在 openerp.py 中添加 'email_template' 依赖项。希望有用。
我想在 odoo 中创建电子邮件模板。我的代码如下,
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<record id="room_request_approval" model="email.template">
<field name="name">Approval Notification</field>
<field name="email_from">${object.users_company.email}</field>
<field name="subject">Room request approved</field>
<field name="email_to" >${object.assignee.email}</field>
<field name="auto_delete" eval="True"/>
<field name="model_id" ref="model_request_room"/>
<field name="body_html"><![CDATA[
<html>
<head>
<title>Room Request Approved</title>
<style>
span.oe_mail_footer_access {
display:block;
text-align:center;
color:grey;
}
</style>
</head>
<body>
<p>Hiii</p>
</body>
</html>
]]>
</field>
</record>
报错如下,ParseError: "email.template" while parsing file
您是否检查过问题是否出在 body_html
字段内?尝试使用更简单的方法,如下所示,并将 safe 添加到电子邮件中:
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<record id="room_request_approval" model="email.template">
<field name="name">Approval Notification</field>
<field name="email_from">${(object.users_company.email or '')|safe}</field>
<field name="subject">Room request approved</field>
<field name="email_to" >${(object.assignee.email or '')|safe}</field>
<field name="auto_delete" eval="True"/>
<field name="model_id" ref="model_request_room"/>
<field name="body_html"><![CDATA[
<p>Hello!</p>]]></field>
</record>
</data>
</openerp>
我猜你的模型名为 request.room
,它有两个 Many2one
字段,名为 users_company
和 assignee
,不是吗?
并且在 Python 代码中,您应该有这样的东西来发送邮件:
request_room_recordset = self.env['request.room'].search(
whatever_domain).ensure_one()
et_pool = self.pool.get('email.template')
mail_sent = et_pool.send_mail(
self.env.cr, 1, template.id, request_room_recordset.id,
force_send=True, context=self.env.context)
尝试在 openerp.py 中添加 'email_template' 依赖项。希望有用。