2

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

4

2 回答 2

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}

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

于 2014-04-15T07:20:14.787 回答
1

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

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

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

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

注意:我从另一个问题中获得了此信息。 链接在这里

于 2015-05-20T13:21:41.063 回答