2010-06-12 13 views
4

J'utilise le thème moderneMagento: Comment puis-je faire écho le nom d'utilisateur

J'ai un bouton livechat l'en-tête et je veux analyser des informations dans mon modèle

Ceci est le bouton livechat:

<!-- http://www.LiveZilla.net Chat Button Link Code --><a href="[removed]void(window.open('http://xxxxxx.fr/livezilla.php?code=BOUTIQUE&amp;en=<!!CUSTOMER NAME!!>&amp;ee=<!!!CUSTOMER EMAIL!!>......... 

J'ai besoin de remplacer et au nom et à l'e-mail de l'utilisateur (si connecté)

le bouton est dans l'en-tête de ma page d'accueil

Comment faire écho à ces deux informations?

J'ai essayé

<?php echo $this->htmlEscape($this->getCustomer()->getName()) ?> 

mais ne fonctionne pas:

Fatal error: Call to a member function getFirstname() on a non-object in /home/xxx/public_html/app/design/frontend/default/modern/template/page/html/header.phtml on line 36

Répondre

9

qui est normal. Le bloc correspondant au modèle app/design/frontend/default/modern/template/page/html/header.phtml est situé au app/code/Core/Page/Block/Html/Header.php.

Si vous lisez le code du bloc, vous verrez qu'il n'y a pas de fonction appelée 'getCustomer()'. Et quand vous essayez d'appeler $this->getCustomer()->getName(); sur votre page de modèle, comme la fonction getCustomer() n'existe pas, elle ne renvoie rien.

Le résultat est que vous êtes alors essayez d'appeler « getName() » sur rien .. et il GOES le message d'erreur: Fatal error: Call to a member function getFirstname() on a non-object.

Comme vous pouvez le lire: Appelez à une fonction membre getFirstname() sur un non-objet.

Si vous souhaitez obtenir le nom du client dans le header.phtml vous devez faire:

$session = Mage::getSingleton('customer/session'); 
if($session->isLoggedIn()) { 
    $customer = $session->getCustomer(); 
    echo $customer->getName(); 
    echo $customer->getFirstname(); 
} 

Hugues.

+0

très bien expliqué. J'aime les réponses courtes et précises –