我想通过电子邮件 ID 获取客户信息,因此我在控制器中创建一个方法,内容如下:
public function showAction(){
$customer_email = "[email protected] /cdn-cgi/l/email-protection";
$customer = Mage::getModel("customer/customer");
$customer->setWebsiteId(Mage::app()->getWebsite()->getId());
$customer->loadByEmail($customer_email);
echo $customer->getId();
echo $customer->getFirstName();
echo $customer->getEmail();
}
但运行时它返回空值,我不知道为什么?请帮我
在您的系统配置中,客户帐户由网站共享,因此loadByEmail
方法需要用于具有价值的客户模型website_id
,并且此网站 ID 必须与客户关联的网站相对应。
或者,由于您的控制器似乎是管理员控制器,Mage::app()->getWebsite()->getId()
返回0,不对应。
因此,您的解决方案是在全球范围内共享客户帐户(System > 配置 > 顾客 > 客户配置 > 帐户共享选项),因为如果您只运行一个网站,则不会改变太多事情,要么使用必须由用户指定的网站 ID,要么至少不会由用户检索Mage::app()->getWebsite()->getId()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)