我需要在电子邮件模板中格式化日期。日期包含在普通.html
电子邮件中,如下所示:
Dispatch Date: {{var order.getShippingDate()}}
有什么办法可以格式化这个日期吗?我试过只使用标准的PHPdate
函数来格式化它无济于事。
strtotime 有什么帮助吗?它可以将数据解析回 unix 时间戳,这是 date() 期望的输入。
评论后编辑:
您可以尝试在 app/code/local 文件夹下创建 app/code/core/Mage/Sales/Model/Order.php 的自定义版本(它放在这里,所以 magento 更新不会覆盖它)。它包含一个名为 getCreatedAtFormated 的方法 - 您可以将相同的原理应用于运输数据,看看是否能实现您需要做的事情。
您可以使用自定义模板添加块指令
{{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);
}
这不是经过测试的代码。只是例子。
发货日期:{{var order.getShippingDate()|formatDateTime:F j, Y}}