Magento如何在电子邮件模板中格式化日期

时间:2009-07-09 17:48:10

标签: email date templates magento format

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

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

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

3 个答案:

答案 0 :(得分:3)

strtotime任何帮助?它可以将数据解析回unix时间戳,这是date()期望作为输入的时间。

评论后编辑:

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

答案 1 :(得分:3)

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

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

并由助手格式化日期。

OR rewrite Filter,用于解析模板并添加指令

 /**
    * 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);
    }

/** * 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); }

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

答案 2 :(得分:-1)

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