我想在新订单电子邮件通知中添加自定义变量,其中包含从表 sales_flat_order (即heared4us)填充的值。我怎样才能做到这一点 ?
我正在使用 magento 版本 1.7.0.2
谢谢。
我想在新订单电子邮件通知中添加自定义变量,其中包含从表 sales_flat_order (即heared4us)填充的值。我怎样才能做到这一点 ?
我正在使用 magento 版本 1.7.0.2
谢谢。
要将新字段添加到订购电子邮件,您需要执行以下 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 }}
对于英语,订单电子邮件模板位于
因此,根据您在网站中使用的语言选择位于区域设置文件夹内的正确模板。
您还可以通过导航到管理员编辑电子邮件模板
系统 > 交易邮件 > 新订单邮件
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;
}