Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Magento : How do i echo username

Tags:

echo

magento

I use the modern theme

I have a livechat button on the header and i want to parse informations in my template

This is the livechat button :

<!-- 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!!>.........

I need to replace and to the name and the email of the user (if logged)

The button is in the header of my homepage

How do i echo this two informations ?

I tried

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

but didn’t work :

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

like image 646
Lolita Avatar asked Jan 21 '23 22:01

Lolita


1 Answers

that's normal. The block corresponding to the template app/design/frontend/default/modern/template/page/html/header.phtml is located at app/code/Core/Page/Block/Html/Header.php.

If you read the code of the block, you will see that there is no function called 'getCustomer()'. And when you try to call $this->getCustomer()->getName(); on your template page, as the function getCustomer() doesn't exist, it doesn't return anything.

The result is that you are then trying to call 'getName()' on nothing.. and there goes the error message : Fatal error: Call to a member function getFirstname() on a non-object.

As you can read : Call to a member function getFirstname() on a non-object.

If you want to get the customer name in the header.phtml you should do :

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

Hugues.

like image 89
liquidity Avatar answered Jan 28 '23 15:01

liquidity