0

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

我正在使用 magento 版本 1.7.0.2

谢谢。

4

2 回答 2

1

要将新字段添加到订购电子邮件,您需要执行以下 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 }}

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

  • app\locale\en_US\template\email\sales\order_new.html
  • app\locale\en_US\template\email\sales\order_new_guest.html

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

您还可以通过导航到管理员编辑电子邮件模板

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

于 2013-08-24T12:21:14.437 回答
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;

}

于 2020-05-19T14:28:27.030 回答