我创建了一个“公司名称”属性,该属性会在我的客户帐户信息中添加,并且是必填字段.
它可以很好地填写注册,表单和编辑页面,并在后端显示在客户的网格上.
我相信这是因为我的订单表中既没有名为’companyname’的列也没有我可以传递给订单/发票/发货模板的任何自定义变量,以便在客户名称后面的行旁边显示公司名称.
任何人都可以指出我可以创建包含我的自定义“companyname”属性的自定义变量的文件,并将其传递给所有类型的销售电子邮件模板
谢谢
经过一些搜索后,我找到了正确的文件来进行更改.由于我已将’companyname’作为我的属性之一,因此我检索了该字段的值并将其作为参数传递给以下函数
应用程序/代码/核心/法师/销售/型号/ Order.PHP
public function sendNewOrderEmail() { /*Existing Code*/ if ($this->getCustomerIsGuest()) { $templateId = Mage::getStoreConfig(self::XML_PATH_EMAIL_GUEST_TEMPLATE,$storeId); $customerId = Mage::getModel('customer/customer')->load($this->getCustomerId()); $companyname = $customerId->getCompanyname(); $customerName = $this->getBillingAddress()->getName(); } else { $templateId = Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE,$storeId); $customerId = Mage::getModel('customer/customer')->load($this->getCustomerId()); $companyname = $customerId->getCompanyname(); $customerName = $this->getCustomerName(); } /*Existing Code*/ $mailer->setTemplateParams(array( 'order' => $this,'billing' => $this->getBillingAddress(),'payment_html' => $paymentBlockHtml,'companyname' => $companyname )); /*Rest of the code remains the same*/ }
做出这个改变之后.我编辑了我的交易电子邮件以包含此参数.因为我想在Shipping Address中显示,所以我将变量放在此行之前
System > Transactional Emails > New Order Email {{ var companyname }} {{var order.getShippingAddress.format('html')}}
如果您的公司名称已作为客户信息的一部分保存,那么这将在开始时的“送货地址”信息中显示在您的订单电子邮件中.
您可以对发票和发货电子邮件执行相同的操作.
希望这有助于某人! 原文链接:https://www.f2er.com/php/135621.html