Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过magento中的电子邮件id获取有关客户的信息_Php_Magento_Magento 1.7_Magento 1.5 - Fatal编程技术网

Php 通过magento中的电子邮件id获取有关客户的信息

Php 通过magento中的电子邮件id获取有关客户的信息,php,magento,magento-1.7,magento-1.5,Php,Magento,Magento 1.7,Magento 1.5,我想通过电子邮件id获取客户信息,因此我在controller中创建了一个方法,内容如下: public function showAction(){ $customer_email = "abc@mail.com"; $customer = Mage::getModel("customer/customer"); $customer->setWebsiteId(Mage::app()->getWebsite()->getId()); $cust

我想通过电子邮件id获取客户信息,因此我在controller中创建了一个方法,内容如下:

public function showAction(){
    $customer_email = "abc@mail.com";
    $customer = Mage::getModel("customer/customer");
    $customer->setWebsiteId(Mage::app()->getWebsite()->getId());
    $customer->loadByEmail($customer_email);
    echo $customer->getId();
    echo $customer->getFirstName();
    echo $customer->getEmail(); 
}

但当运行它时返回空值,我不知道为什么?。请帮助我

在您的系统配置中,客户帐户由网站共享,因此需要在具有
网站id
值的客户模型上使用
loadByEmail
方法,并且此网站id必须与客户关联的网站相对应

或者,由于您的控制器似乎是管理员控制器,
Mage::app()->getWebsite()->getId()
返回0,该值不对应


因此,您的解决方案是要么在全球范围内共享客户帐户(系统配置客户客户配置帐户共享选项),因为如果您只运行一个网站,不会有太大变化,要使用必须由用户指定的网站ID,或者至少不能由
Mage::app()->getWebsite()->getId()

检索,是否运行多个网站?如果是,客户帐户是全局共享还是按网站共享?不运行多个网站页面::app()->getWebsite()->getId()始终返回值0是否确实存在具有此电子邮件地址的客户?当您注释掉
setWebsiteId()
调用时,它给出了什么信息?@rocky:您是否尝试通过另一个电子邮件id获取客户信息?正如我所看到的,除了getFirstName()应该是getFirstName()之外,代码中没有错误。请明确回答。非常感谢你