57 votes

Utilisateur actuel de Magento ?

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

94voto

nlaq Points 11379

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();

24voto

chapagain Points 6536

Jetez un coup d'œil à la classe d'aide : 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'identifiant de l'entité du client, l'identifiant du site web, l'email, etc. vous pouvez utiliser getCustomer fonction. Le code suivant montre ce que l'on peut en tirer :-

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

À partir de la classe d'aide, vous pouvez également obtenir des informations sur l'url de connexion du client, l'url d'enregistrement, l'url de déconnexion, etc.

De la isLoggedIn de la classe d'aide, vous pouvez également vérifier si un client est connecté ou non.

9voto

AK. Points 136

Pour les e-mails, utilisez ce code

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

echo $email;

4voto

Vexcor Systems Points 21

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

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

4voto

Alexandar Points 51

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);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X