电子邮件模板openerp中的当前日期?

时间:2014-04-14 14:01:18

标签: xml openerp openerp-7 openerp-8

如何在电子邮件模板中添加当前日期,以便在邮件中显示当前日期?另外,我们如何更改要显示的日期格式?

2 个答案:

答案 0 :(得分:1)

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}

我没有测试它。如果您尝试它,请告诉我它是否有效。

答案 1 :(得分:0)

在OpenERP / Odoo电子邮件模板中,

您可以添加javascript来计算当前日期。

<script language="javascript">
   var today = new Date();
   document.getElementById('time').innerHTML=today;
 </script>

并使用调用此值 的 <p id="time"></p>

注意:我从另一个问题中获得了此信息。 Link here