Php 通过magento中的电子邮件id获取有关客户的信息
我想通过电子邮件id获取客户信息,因此我在controller中创建了一个方法,内容如下: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
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()之外,代码中没有错误。请明确回答。非常感谢你