Magento-电子邮件变量


Magento - eMail variables

我想自定义我的订单确认,我可以在我的模板中使用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"来做到这一点,但我该如何做到呢?

谢谢!

对于{deliverydate_weekday}{交货日期}{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}

你可以写这样的use-if指令:

    {{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/