我使用现代主题
我在标题上有一个实时聊天按钮,我想解析模板中的信息
这是实时聊天按钮:
<!-- 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行
答案 0 :(得分:9)
这是正常的。
与模板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();
}
雨果。