【发布时间】:2014-05-28 12:51:56
【问题描述】:
如何在电子邮件模板中添加当前日期,以便在邮件中显示当前日期?另外我们如何更改要显示的日期格式?
【问题讨论】:
-
你说的是哪个邮件模板?
-
关于 openerp 中的电子邮件模板
-
你能解决这个问题吗?
标签: xml openerp openerp-7 openerp-8
如何在电子邮件模板中添加当前日期,以便在邮件中显示当前日期?另外我们如何更改要显示的日期格式?
【问题讨论】:
标签: xml openerp openerp-7 openerp-8
email_templates 使用“jinja”模板引擎。对于像我们这样的懒人来说,坏消息是jinja 不支持内联python。您只能访问在渲染时传递给模板的变量。
其中一个变量是object,表示您附加到模板的对象,比如说res_partner。您可以尝试扩展res_partner 并添加一个计算当前日期的字段。像这样的:
from openerp.osv import fields, Model
class res_partner(osv.Model):
"""Inherit res.partner to add a generic field that can be used
to in email templates."""
_inherit = 'res.partner'
def _get_now(self, cr, uid, ids, field_name, arg, context):
from datetime import datetime
return datetime.now()
_columns = {
'current_date_time': fields.function(_get_now, type="char",
method=True, store=False)
}
res_partner()
现在您应该可以在模板中添加以下内容:
${object.current_date_time}
我没有测试它。如果您尝试一下,请告诉我它是否有效。
【讨论】:
在 OpenERP/Odoo 电子邮件模板中,
您可以添加 javascript 来计算您当前的日期。
<script language="javascript">
var today = new Date();
document.getElementById('time').innerHTML=today;
</script>
并通过使用调用此值
<p id="time"></p>
注意:我从另一个问题中获得了此信息。 Link here
【讨论】: