在项目期间出现以下内容:
客户在结账时填写他/她的姓名:**名字姓氏姓氏** 发送的确认电子邮件在确认的第一句中以“**姓氏姓氏**”的形式包含不完整的姓名
我查看了邮件模板,函数order.getCustomerName()似乎没有检索到所有信息。
请告知;)
同样想出这个。对于遇到相同问题的人来说,解决方案是:
仅供参考:这是针对Magento 1.5.1.0
在交易电子邮件中,函数order.getCustomerName()不完整。 该函数位于Mage_Sales_Model_Order类中,该类位于:
app/code/core/Mage/Sales/Model/Order.php
我做了一个模型重写,扩展了Mage_Sales_Model_Order并重写了getCustomerName(),如下所示:
class [Namespace]_Sales_Model_Order extends Mage_Sales_Model_Order { //Mage_Sales_Model_Abstract
public function getCustomerName()
{
if ($this->getCustomerFirstname()) {
$customerName = $this->getCustomerFirstname() . ' ';
//check if middlename is present and contains value
//if so: append to $customerName
if($this->getCustomerMiddlename() && ($this->getCustomerMiddlename() != '')) {
$customerName .= $this->getCustomerMiddlename() . ' ';
}
$customerName .= $this->getCustomerLastname();
}
else {
$customerName = Mage::helper('sales')->__('Guest');
}
return $customerName;
}//end: getCustomerName()
}
像魅力一样工作;)
有关覆盖模型/核心代码的更多信息:
Magento – rewriting model, block or helper
干杯:)
答案 0 :(得分:0)
您可以在admin的客户地址设置中进行设置。
管理员 - >系统 - >配置 - >客户配置 - >名称和地址选项 - >显示中间名(初始)。
您需要进一步调查显示模板中的初始内容以外的内容。在英国,我们保持表格简单,不要问中间名。