我正试图在一个独立的php页面中拉出我们的Magento商店的标题。一切都按预期工作,除了“登录”链接没有出现。 customer.xml文件使用标准的'customer_logged_in'节点来'addLink',但似乎没有使用我正在使用的方法评估登录状态。我如何获得此登录|注销链接显示?
以下是我正在使用的代码:
require_once $mage_path;
umask(0);
Mage::app();
Mage::getSingleton('core/session', array('name' => 'frontend'));
$layout = Mage::app()->getLayout();
$layout->getUpdate()->addHandle('default')->load();
$layout->generateXml()->generateBlocks();
echo $layout->getBlock('header')->toHtml();
我可以使用以下方法独立获取正确的登录状态:
$session = Mage::getSingleton('customer/session', array('name'=>'frontend'));
if ($session->isLoggedIn()) {
/* logged in */
} else {
/* not logged in */
}
但是,我不想管理两种不同的样式(一种是通过默认的magento XML,另一种是针对此自定义页面)。我宁愿让getBlock调用返回具有正确登录状态的整个块。任何见解都表示赞赏。
答案 0 :(得分:0)
您需要将customer_logged_in
添加到句柄以及default
。例如:
...
$handles = array('default');
if (Mage::helper('customer')->isLoggedIn()) {
$handles[] 'customer_logged_in';
}
$layout->getUpdate()->addHandle($handles);
...