我需要在电子邮件模板中设置日期格式。日期包含在普通.html
电子邮件中,如下所示:
Dispatch Date: {{var order.getShippingDate()}}
有什么方法可以格式化这个日期吗?我试过使用标准的PHP date
函数来格式化它无济于事。
答案 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}}