我想在发送电子邮件中直接在我的电子邮件模板中格式化日期和时间,关于估计发货日期。
我试过这种方式:
{{var order.getShippingArrivalDate() format="Y-m-d"}}
这样
{{var order.getShippingArrivalDate()|formatDateTime: Y-m-d}}
即使我这样试过
{{var date("d-m-Y",strtotime(order.getShippingArrivalDate()|formatDateTime: Y-m-d))}}
但两种方式都不起作用。是否有可能直接在电子邮件模板中格式化日期/时间?
答案 0 :(得分:0)
Magento的电子邮件模板处理器非常基本,只有一些辅助函数,没有一个格式化日期。不要在模板中格式化日期,而是在发送电子邮件的类中对其进行格式化,并将格式化的值作为参数传递给模板。
或者,在订单类中添加格式化方法(您需要重写订单模型才能这样做):
public function getShippingArrivalDateFormatted ($format)
{
return Mage::helper('core')->formatDate($this->getShippingArrivalDate(), $format, true);
}
然后在电子邮件模板中引用它:
<!--@vars
{"var order.getShippingArrivalDateFormatted('short')":"Arrival Date"}
@-->
...
<p>Arriving on {{var order.getShippingArrivalDateFormatted('short')}}</p>