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

How to send custom attribute in magento Order email.

我已经安装了来自 https://github.com/drewhunter/ShipNote 的 Ship note 扩展 这是单页结帐时的可选注释,我想在订单电子邮件中发送此注释。请看图片。 谢谢

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

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

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

创建文件 path/to/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;

完成:)

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

在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.

希望这会节省一些时间!