Magento-新订单通知电子邮件添加自定义字段表sales_flat_order

时间:2013-08-24 10:09:24

标签: magento

我想在新订单电子邮件通知中添加自定义变量,其值已从表sales_flat_order(即heared4us)填充。我怎么能这样做?

我使用的是magento 1.7.0.2版本

感谢。

2 个答案:

答案 0 :(得分:1)

要添加新字段以订购电子邮件,您需要执行以下两个步骤

1)编辑位于

中的sendNewOrderEmail()函数

应用程序/代码/核心/法师/销售/型号/ 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 }}

对于英语,订单电子邮件模板位于

  • 应用程序\区域\ EN_US \模板\电子邮件\销售\ order_new.html
  • 应用程序\区域\ EN_US \模板\电子邮件\销售\ order_new_guest.html

因此,根据您在网站上使用的语言,选择位于区域设置文件夹中的正确模板。

您也可以通过导航到

来管理来自管理员的电子邮件模板

系统>交易电子邮件>新订单电子邮件

答案 1 :(得分:0)

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;

}