1

Magento 版本。1.7.0.2

创建帐户 (/customer/account/create) 时,我收到错误“姓氏不能为空”。即使我输入了姓氏。

在控制器...

/app/code/core/Mage/Customer/controllers/AccountController.php

..我在第 277 行添加了一个 var_dump() (createPostAction)

// die(var_dump($_POST));
// result

array(7) { 
["success_url"]=> string(0) "" 
["error_url"]=> string(0) "" 
["firstname"]=> string(3) "Jon" 
["lastname"]=> string(8) "Chambers" 
["email"]=> string(21) "abcd@hotmail.com" 
["password"]=> string(8) "password" 
["confirmation"]=> string(8) "password" 
}

“姓氏”在 $_POST 中传递,但未添加到 $customerData。

// die(var_dump($customerData));
// Result

array(2) { 
["firstname"]=> string(3) "Jon" 
["email"]=> string(21) "clhosting@hotmail.com" 
}

有没有人遇到过这种情况或知道解决方法?

谢谢。

编辑:

这是一条漫长的道路……感谢 Slayer Birden 让我朝着正确的方向开始。从那里我看到 lastname 没有在任何输入中注册(创建帐户、客户信息等)。

我结束了更换所有的[database]_customer_...桌子。这让我回到了正轨,一切都恢复正常了,唷!

4

1 回答 1

0

如果您检查方法Mage_Eav_Model_Form::extractData,您会看到它迭代实体属性并尝试为它们设置数据。

因此,您需要检查您是否具备所有客户属性。

于 2013-05-07T21:19:00.343 回答