在 odoo 自己的自定义模板中没有完整 URL?
Not Getting Full URL in own custom template in odoo?
我是 odoo 的新手,我正试图在我自己的自定义模板中获得完整的 URL。请检查我的代码并帮助解决我做错的地方。
mail_template_view.xml
<?xml version="1.0" encoding="utf-8"?>
<data noupdate = "0">
<record id="example_email_template" model="mail.template">
<field name="name">Example e-mail template</field>
<field name="email_from">bhuwankhadka2052@greenit.com.np</field>
<field name="subject">Congratz khadka</field>
<field name="email_to">benkhadka143@gmail.com</field>
<field name="model_id" ref="model_tender_manage"/>
<field name="auto_delete" eval="True"/>
<field name="body_html">
<![CDATA[
<p>Dear ,<br/><br/>
Good job, you've just created your first e-mail template!<br/></p>
My name is Bhuwan Khadka. What about you man?
A new tender record has been created
<div>
<p>Please check the link below for more details:</p>
% set website_url = object.env['ir.config_parameter'].sudo().get_param('web.base.url')
Your Odoo domain is: <b><a href="${website_url}">${website_url}</a></b><br>
</div>
Regards,<br/>
Bhuwan Khadka
]]>
</field>
</record>
</data>
tendermanage.py
@api.model
def create(self,vals):
res = super(TenderManage,self).create(vals)
self.task_send_mail()
return res
以上代码创建新记录并触发自动发送电子邮件功能
@api.multi
def task_send_mail(self):
template_email = self.env["mail.template"].search([('name','=','Example e-mail template')]).id
self.env["mail.template"].browse(template_email).sudo().send_mail(self.id, force_send=True)
以上代码发送邮件
如果我从 XML 文件中删除 URL 代码,电子邮件会自动发送而不会出现任何错误,但是当 URL 代码写入电子邮件模板时,我会收到以下错误。
错误信息:
请帮助我提供您的建议以及如何在电子邮件模板中获得完整 url。在 XML 中删除了 odoo 元素,因为它没有在上面的代码中显示。
mail_template_view.xml
<div>
<p>Please check the link below for more details:
Your Odoo domain is: <b><a href="${object.get_full_url()}">Click Here</a></p>
</div>
tendermanage.py
@api.multi
def get_full_url(self):
self.ensure_one()
base_url = self.env["ir.config_parameter"].get_param("web.base.url")
url_params = {
'id': self.id,
'view_type': 'form',
'model': 'your_model',
'menu_id': self.env.ref('module_name.menu_record_id').id,
'action': self.env.ref('module_name.action_record_id').id,
}
params = '/web?#%s' % url_encode(url_params)
return base_url + params
更改邮件模板 div 并在您的模型中创建这样的方法..
希望对你有帮助..
我是 odoo 的新手,我正试图在我自己的自定义模板中获得完整的 URL。请检查我的代码并帮助解决我做错的地方。
mail_template_view.xml
<?xml version="1.0" encoding="utf-8"?>
<data noupdate = "0">
<record id="example_email_template" model="mail.template">
<field name="name">Example e-mail template</field>
<field name="email_from">bhuwankhadka2052@greenit.com.np</field>
<field name="subject">Congratz khadka</field>
<field name="email_to">benkhadka143@gmail.com</field>
<field name="model_id" ref="model_tender_manage"/>
<field name="auto_delete" eval="True"/>
<field name="body_html">
<![CDATA[
<p>Dear ,<br/><br/>
Good job, you've just created your first e-mail template!<br/></p>
My name is Bhuwan Khadka. What about you man?
A new tender record has been created
<div>
<p>Please check the link below for more details:</p>
% set website_url = object.env['ir.config_parameter'].sudo().get_param('web.base.url')
Your Odoo domain is: <b><a href="${website_url}">${website_url}</a></b><br>
</div>
Regards,<br/>
Bhuwan Khadka
]]>
</field>
</record>
</data>
tendermanage.py
@api.model
def create(self,vals):
res = super(TenderManage,self).create(vals)
self.task_send_mail()
return res
以上代码创建新记录并触发自动发送电子邮件功能
@api.multi
def task_send_mail(self):
template_email = self.env["mail.template"].search([('name','=','Example e-mail template')]).id
self.env["mail.template"].browse(template_email).sudo().send_mail(self.id, force_send=True)
以上代码发送邮件
如果我从 XML 文件中删除 URL 代码,电子邮件会自动发送而不会出现任何错误,但是当 URL 代码写入电子邮件模板时,我会收到以下错误。
错误信息:
请帮助我提供您的建议以及如何在电子邮件模板中获得完整 url。在 XML 中删除了 odoo 元素,因为它没有在上面的代码中显示。
mail_template_view.xml
<div>
<p>Please check the link below for more details:
Your Odoo domain is: <b><a href="${object.get_full_url()}">Click Here</a></p>
</div>
tendermanage.py
@api.multi
def get_full_url(self):
self.ensure_one()
base_url = self.env["ir.config_parameter"].get_param("web.base.url")
url_params = {
'id': self.id,
'view_type': 'form',
'model': 'your_model',
'menu_id': self.env.ref('module_name.menu_record_id').id,
'action': self.env.ref('module_name.action_record_id').id,
}
params = '/web?#%s' % url_encode(url_params)
return base_url + params
更改邮件模板 div 并在您的模型中创建这样的方法.. 希望对你有帮助..