【发布时间】:2013-08-24 10:09:24
【问题描述】:
我想在新订单电子邮件通知中添加自定义变量,其中包含从表 sales_flat_order 填充的值(即heared4us)。我该怎么做?
我使用的是 magento 1.7.0.2 版
谢谢。
【问题讨论】:
标签: magento
我想在新订单电子邮件通知中添加自定义变量,其中包含从表 sales_flat_order 填充的值(即heared4us)。我该怎么做?
我使用的是 magento 1.7.0.2 版
谢谢。
【问题讨论】:
标签: magento
要为订购电子邮件添加新字段,您需要执行以下 2 个步骤
1) 编辑 sendNewOrderEmail() 函数位于
app/code/core/Mage/Sales/Model/Order.php
在该函数中,您将找到以下代码
$mailer->setTemplateParams(array(
'order' => $this,
'billing' => $this->getBillingAddress(),
'payment_html' => $paymentBlockHtml,
));
您需要添加新的键值对来添加新的自定义值
$mailer->setTemplateParams(array(
'order' => $this,
'billing' => $this->getBillingAddress(),
'payment_html' => $paymentBlockHtml,
'customvalue' => 'This is a custom value' //New custom value
));
2) 现在是第二部分。您需要将自定义变量添加到新订单电子邮件模板。 只需编辑模板添加您的自定义参数名称。在示例中为“customvalue”。
{{ var customvalue }}
对于英语,订单电子邮件模板位于
因此,根据您在网站中使用的语言选择位于 locale 文件夹中的正确模板。
您还可以从管理员编辑电子邮件模板,方法是导航到
系统 > 交易邮件 > 新订单邮件
【讨论】:
public function execute(\Magento\Framework\Event\Observer $observer) {
$transport = $observer->getEvent()->getTransport();
$transportObj = $observer->getData('transportObject');
/** @var \Magento\Framework\App\Action\Action $controller*/
$transport = $observer->getTransport();
$transportObj->setData('custom_content',"custom content 123");
return $transportObj;
}
【讨论】: