2

我需要在电子邮件模板中格式化日期。日期包含在普​​通.html电子邮件中,如下所示:

Dispatch Date: {{var order.getShippingDate()}}

有什么办法可以格式化这个日期吗?我试过只使用标准的PHPdate函数来格式化它无济于事。

4

3 回答 3

3

strtotime 有什么帮助吗?它可以将数据解析回 unix 时间戳,这是 date() 期望的输入。

评论后编辑:

您可以尝试在 app/code/local 文件夹下创建 app/code/core/Mage/Sales/Model/Order.php 的自定义版本(它放在这里,所以 magento 更新不会覆盖它)。它包含一个名为 getCreatedAtFormated 的方法 - 您可以将相同的原理应用于运输数据,看看是否能实现您需要做的事情。

于 2009-07-11T12:23:20.030 回答
3

您可以使用自定义模板添加块指令

{{block type='core/template' area='frontend' template='email/order/shipment/date.phtml' shipment=$shipment order=$order}}

并由助手格式化日期。

或重写用于解析模板的过滤器并添加您的指令

 /**
    * Setup callbacks for filters
    *
    */
    public function __construct()
    {
        $this->_modifiers['date'] = array($this, 'modifierDate');
    }

    public function modifierEscape($value, $format='d/m/Y')
    {
        return Mage::helper('core')->formatDate($value,$format);
    }

这不是经过测试的代码。只是例子。

于 2014-07-23T09:55:43.167 回答
-2

发货日期:{{var order.getShippingDate()|formatDateTime:F j, Y}}

于 2015-07-30T05:39:00.070 回答