web-dev-qa-db-fra.com

Utilisateur actuel dans Magento?

Je personnalise la page d'affichage du produit et je dois afficher le nom de l'utilisateur. Comment puis-je accéder aux informations de compte de l'utilisateur actuel (s'il est connecté) pour obtenir un nom, etc.?

57
Eran Kampf

Trouvé sous "app/code/core/Mage/Page/Block/Html/Header.php":

public function getWelcome()
{
    if (empty($this->_data['welcome'])) {
        if (Mage::app()->isInstalled() && Mage::getSingleton('customer/session')->isLoggedIn()) {
            $this->_data['welcome'] = $this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getName());
        } else {
            $this->_data['welcome'] = Mage::getStoreConfig('design/header/welcome');
        }
    }

    return $this->_data['welcome'];
}

Donc, il semble que Mage::getSingleton('customer/session')->getCustomer() obtiendra votre client actuellement connecté;)

Pour obtenir l'administrateur actuellement connecté:

Mage::getSingleton('admin/session')->getUser();
94
user19302

Regardez la classe d'assistance: Mage_Customer_Helper_Data

Pour obtenir simplement le nom du client, vous pouvez écrire le code suivant: -

$customerName = Mage::helper('customer')->getCustomerName();

Pour plus d'informations sur l'ID d'entité du client, l'ID de site Web, l'e-mail, etc., vous pouvez utiliser la fonction getCustomer. Le code suivant montre ce que vous pouvez en obtenir: -

echo "<pre>"; print_r(Mage::helper('customer')->getCustomer()->getData()); echo "</pre>";

Dans la classe d'assistance, vous pouvez également obtenir des informations sur l'URL de connexion client, l'URL d'enregistrement, l'URL de déconnexion, etc.

À partir de la fonction isLoggedIn de la classe d'assistance, vous pouvez également vérifier si un client est connecté ou non.

24
Mukesh Chapagain

Vous pouvez obtenir le nom de client actuel de la session de la manière suivante:

$customer = Mage::getSingleton('customer/session')->getCustomer();

Cela renverra les détails du client actuellement connecté.

Maintenant, vous pouvez obtenir le nom du client en utilisant getName()

echo $customer->getName();
10
Deepak Mankotia

pour Email utiliser ce code

$email=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getEmail());

echo $email;
9
AK.
 $ customer = Mage :: getSingleton ('client/session') -> getCustomer (); 
 $ customerAddressId = Mage :: getSingleton ('client/session') -> getCustomer () - > getDefaultBilling (); 
 $ address = Mage :: getModel ('client/adresse') -> load ($ customerAddressId); 
 $ nom complet = $ client-> getName (); 
 $ firstname = $ customer-> getFirstname (); 
 $ lastname = $ customer-> getLastname (); 
 $ email = $ customer-> getEmail (); 
 $ taxvat = $ client-> getTaxvat (); 
 $ tele = $ client-> getTelephone (); 
 $ telephone = $ adresse-> getTelephone (); 
 $ rue = $ adresse-> getStreet (); 
 $ ville = $ adresse-> getCity (); 
 $ région = $ adresse-> getRégion (); 
 $ code postal = $ address-> getPostcode (); 

Obtenir l'adresse de facturation par défaut du client

5
Shorabh

De la manière suivante, vous pouvez accéder à toutes les informations de l'utilisateur connecté.

$customer_data=Mage::getSingleton('customer/session')->getCustomer();


echo "<pre>" print_r($customer_data);
4
Alexandar

Pour le nom d'utilisateur est le même avec quelques modifications:

$user=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getName());
echo $user;
4
Vexcor Systems

Simplement,

$current_customer = $this->_getSession()->getCustomer();

Cela renvoie l'objet client, vous pouvez alors obtenir tous les détails de cet objet client.

2

Par ici:

$email = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
echo $email;
2
Fujy