如何在magento订单电子邮件中发送自定义属性。

时间:2015-01-15 13:25:53

标签: php mysql magento zend-framework magento-1.8

我已从https://github.com/drewhunter/ShipNote安装了发货单扩展程序  这是关于单页结账的可选注释我想在电子邮件中发送此便笺。请看图片。 enter image description here 感谢。

2 个答案:

答案 0 :(得分:2)

此消息是否已保存在您的数据库中?如果是这样,有一种简单的方法可以做到这一点。为电子邮件创建自定义变量可能会耗费太多时间,因此获得此结果的最简单方法是在交易电子邮件中使用.phtml文件。

将此添加到您的电子邮件HTML:

{{block type='core/template' area='frontend' template='email/custom/mynote.phtml' order=$order}}

创建文件路径/到/ magento / app / design / frontend / base / default / template / email / custom / mynote.phtml

现在在这个文件中你可以这样做:

$order = $this->getOrder();

$note = $order->getNote(); // (or whatever is the code for getting the note message)

echo $note;

完成:)

答案 1 :(得分:1)

上面的答案对我不起作用!这就是我做的......

在app / code / local / Mage / Sales / Model / Order.php中我添加了以下两行(围绕1330行):

public function sendNewOrderEmail()
  {
  --- default code ----
  $shipnote = Mage::getModel('shipnote/note')->loadByOrder($this); // << LINE 1
  $mailer->setTemplateParams(array(
            'order'           => $this,
            'shipnoted'       => $shipnote->getNote(), // << LINE 2
            'billing'         => $this->getBillingAddress(),
            'payment_html'    => $paymentBlockHtml
        )
    );
  --- default code ----
 }

然后将以下代码添加到您希望显示ShipNote的电子邮件模板中:

{{var shipnoted}} // This is the variable name I created above.

希望这会节省一些时间!