Obtenir des informations sur la clientèle par e-mail de l'id dans magento
Je veux obtenir de l'information de la clientèle par e-mail id, j'ai donc créer une méthode dans le contrôleur avec le contenu:
public function showAction(){
$customer_email = "[email protected]";
$customer = Mage::getModel("customer/customer");
$customer->setWebsiteId(Mage::app()->getWebsite()->getId());
$customer->loadByEmail($customer_email);
echo $customer->getId();
echo $customer->getFirstName();
echo $customer->getEmail();
}
mais quand exécuter retourner la valeur null, je ne sais pas pourquoi?. merci de m'aider
Ne vous lancez plusieurs sites web ? Si oui, sont-comptes clients partagées avec le monde entier ou par le site internet ?
Ne pas exécuter de multiples sites web
Mage::app()->getWebsite()->getId() retourne toujours la valeur 0
Êtes-vous sûr qu'un client avec cette adresse email existe ? Que donne-t-il lorsque vous commentez le
Avez-vous essayé de chercher de l'information à la clientèle à travers une autre id e-mail ? Comme je peux voir, il n'y a pas d'erreur dans le code, à l'exception de getFirstName() doit être getFirstname().
Ne pas exécuter de multiples sites web
Mage::app()->getWebsite()->getId() retourne toujours la valeur 0
Êtes-vous sûr qu'un client avec cette adresse email existe ? Que donne-t-il lorsque vous commentez le
setWebsiteId()
appel ?Avez-vous essayé de chercher de l'information à la clientèle à travers une autre id e-mail ? Comme je peux voir, il n'y a pas d'erreur dans le code, à l'exception de getFirstName() doit être getFirstname().
OriginalL'auteur rocky | 2013-06-17
Vous devez vous connecter pour publier un commentaire.
Dans la configuration de votre système, les comptes clients sont partagées par de site web, de sorte que le
loadByEmail
méthode doit être utilisé sur un modèle client qui a une valeur pourwebsite_id
, et ce site ID doit correspondre au site internet auquel le client est associé.Ou, comme votre contrôleur semble être un admin,
Mage::app()->getWebsite()->getId()
renvoie la valeur 0, ce qui ne correspond pas.Donc, votre solution est soit de partager des comptes de clients à l'échelle mondiale (Système > Configuration > Clients > de Configuration du Client > Compte les Options de Partage), que cela ne va pas changer beaucoup de choses si vous ne vous exécutez un site web unique, soit à utiliser un site web ID qui doit être spécifiée par un utilisateur, ou au moins pas récupérées par
Mage::app()->getWebsite()->getId()
.OriginalL'auteur blmage