Magento: как мне повторить имя пользователя - PullRequest
4 голосов
/ 12 июня 2010

Я пользуюсь современной темой

У меня есть кнопка 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!!>.........

Мне нужно заменить и на имя и адрес электронной почты пользователя (если он зарегистрирован)

Кнопка находится в шапке моей домашней страницы

Как мне повторить эти две информации?

Я пытался

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

но не работает:

Неустранимая ошибка: вызов функции-члена getFirstname () для необъекта в /home/xxx/public_html/app/design/frontend/default/modern/template/page/html/header.phtml по линии 36

1 Ответ

9 голосов
/ 12 июня 2010

это нормально.Блок, соответствующий шаблону app/design/frontend/default/modern/template/page/html/header.phtml, расположен по адресу app/code/Core/Page/Block/Html/Header.php.

Если вы прочитаете код блока, вы увидите, что нет функции с именем 'getCustomer ()'.И когда вы пытаетесь вызвать $this->getCustomer()->getName(); на странице шаблона, так как функция getCustomer () не существует, она ничего не возвращает.

В результате вы пытаетесь вызвать getName() 'на ничто .. и появляется сообщение об ошибке: Fatal error: Call to a member function getFirstname() on a non-object.

Как вы можете прочитать: вызов функции-члена getFirstname () для необъект .

Если вы хотите получить имя клиента в header.phtmlВы должны сделать:

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

Hugues.

...