如何在odoo中为电子邮件模板设置不同的邮件?

如何在odoo中为电子邮件模板设置不同的邮件?,odoo,odoo-8,openerp-8,Odoo,Odoo 8,Openerp 8,我创建了一个自定义模块,并使用calendar对象创建了一个事件,代码如下 def create_calender_event(self,cr,uid,ids,context=None): calendar_obj = self.pool.get('calendar.event') for rec in self.browse(cr,uid,ids,context=context): if rec.action: for rec

我创建了一个自定义模块,并使用calendar对象创建了一个事件,代码如下

def create_calender_event(self,cr,uid,ids,context=None):
    calendar_obj = self.pool.get('calendar.event')      
    for rec in self.browse(cr,uid,ids,context=context):
        if rec.action:
            for rec_res in rec.action:
                calendar_obj.create(cr,uid,{'name' : rec_res.act_ion,
                    'user_id' : rec_res.asgnd_to.id,
                    'start_date' : rec_res.due_date,
                    'stop_date' : rec_res.due_date,
                    'allday' : True,
                    'partner_ids' : [(6,0, [rec_res.asgnd_to.partner_id.id])]
                },context=context)
这将在各自用户的日历中创建一个事件,但它使用默认模板消息


如何将日历邀请模板消息替换为自定义消息?

它的电子邮件模板具有xml id“日历模板会议邀请”用于发送邀请。因此,找到这个模板,并更改为您想要的任何内容。在其模板下称为“会议邀请”电子邮件模板

旧的===================

更新================================

calendar.event
object
create
write
方法调用方法
create\u attenders
,该方法创建所有与会者并通过调用方法
\u send\u mail\u向与会者发送电子邮件邀请,因此,您需要重载该函数并记住该语句,以便在创建与会者时它不会发送电子邮件,而是在您需要时发送邀请


最好的

您可以从py文件中这样做

1) 获取模板id并浏览对象
2) 模板正文将存储在“正文\u html”字段中
3) 将body\u html字段存储在一个变量中,比如:old\u body
4) 然后将自定义代码添加到模板的“body\u html”字段中,并使用上面的temlate\u id将值写入模板中
5) 使用发送方法发送邮件
6) 然后将旧的\u body值写回模板

仅为了解想法,请参考此

template\u id=template\u pool.search(cr,uid,[('name','=ilike',template\u name)])
如果模板id为:
template\u obj=template\u pool.browse(cr、uid、template\u id)
body=template\u obj.body\u html
body_old=body
计数=0

正文+=“有关%s学习笔记PDF,请单击此处

”%(url['subject',url['url'])
template\u pool.write(cr、uid、template\u id,{'body\u html':body})
模板池。发送邮件(cr、uid、模板id[0],record.id)
template\u pool.write(cr、uid、template\u id,{'body\u html':
body_old})

如何仅替换自定义模块的模板消息而不影响用于日历活动邀请的原始电子邮件模板?不错,没有人知道答案。。。LollThank firebug,,是的,这样做将更改原始模板本身,我希望该模板仅在执行上述代码时更改..检查回复正文添加了更多详细信息Hanks firebug为您的答案,我将尝试。谢谢shravan,我也将尽快尝试您的想法。。。我正在处理另一个问题Ravan我是否需要传递任何模板xml id作为参数?函数头将是什么样子以及函数将如何调用?包括template_pool=self.pool.get('email.template'),模板名称不是xml id,只需传递模板的名称Yes shravan,在其自身之前包含它,但错误是相同的,尽管shravan我需要将其写入上述函数本身,对吗?