Magento: как я повторяю имя пользователя
Я использую современную тему
У меня есть кнопка livechat в заголовке, и я хочу проанализировать информацию в моем шаблоне
Это кнопка livechat:
<!-- http://www.LiveZilla.net Chat Button Link Code --><a href="[removed]void(window.open('http://xxxxxx.fr/livezilla.php?code=BOUTIQUE&en=<!!CUSTOMER NAME!!>&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 ответ
Это нормально. Блок, соответствующий шаблону 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();
}
Гуго.