Magento订单确认时客户名称不完整

时间:2011-07-07 10:22:19

标签: email magento confirmation transactional sales

在项目期间出现以下内容:

客户在结账时填写他/她的姓名:**名字姓氏姓氏** 发送的确认电子邮件在确认的第一句中以“**姓氏姓氏**”的形式包含不完整的姓名

我查看了邮件模板,函数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

干杯:)

1 个答案:

答案 0 :(得分:0)

您可以在admin的客户地址设置中进行设置。

管理员 - >系统 - >配置 - >客户配置 - >名称和地址选项 - >显示中间名(初始)。

您需要进一步调查显示模板中的初始内容以外的内容。在英国,我们保持表格简单,不要问中间名。