我想自定义订单确认,我可以看到我可以在模板中使用if语句,否则我可以自定义sendNewOrderEmail()
函数,根据一些信息选择两个不同的模板。
但是我想知道因为我使用某些扩展来为客户提供交货日期和时间段。目前,我使用占位符{{layout handle="deliverydate_email_information" order=$order}}
来显示投放日期。这个在订单确认中看起来像这样:
Thursday, 28. July, 8pm - 10pm
但我希望在三个占位符中包含这些信息:
{deliverydate_weekday}
{deliverydate_date}
{deliverydate_time}
有人知道如何以可能的方式增强我的Magento系统吗?我假设我可以通过实现自己的layout handle="deliverydate_email_information"
来实现,但我该怎么做?
谢谢!
答案 0 :(得分:0)
{deliverydate_weekday} {} deliverydate_date {deliverydate_time}
您需要在sendNewOrderEmail()中定义变量,如下所示(在自定义模块中定义您要发送电子邮件或扩展类。不要编辑代码文件):
//get the value of $weekday, $deliverydate and $time from your extension
$vars = Array('deliverydate_weekday' => $weekday,
'deliverydate_date' => $deliverydate,
'deliverydate_time' => $time);
$storeId = Mage::app()->getStore()->getId();
$translate = Mage::getSingleton('core/translate');
Mage::getModel('core/email_template')
->setTemplateSubject($mailSubject)
->sendTransactional($templateId, $sender, $email, $name, $vars, $storeId);
您可以将模板文件中的变量用作:
{deliverydate_weekday} {deliverydate_date} {deliverydate_time}
您可以编写如下指令:
{{if order.getIsNotVirtual()}}
//some code
{{else}}
//some code
{{/if}}
有关详细信息,请查看以下内容: https://magento.stackexchange.com/questions/5919/send-custom-mail-with-variable-via-script
http://excellencemagentoblog.com/blog/2011/11/25/magento-advanced-transactional-email-templates/
http://www.justwebdevelopment.com/blog/transactional-emails-variable-magento/