我尝试在phtml文件中使用Magento 1.8.1.0中的代码。
包含代码的文件是app/design/frontend/default/mytheme/template/catalog/navigation/left_nav.phtml
此phtml文件的XML文件为catalog.xml
<default>
<reference name="top.container">
<block type="cms/block" name="cms.top.callout" before="-">
<action method="setBlockId"><block_id>top_callout</block_id></action>
</block>
</reference>
<reference name="left">
<block type="catalog/navigation" name="catalog.leftnav" template="catalog/navigation/left_nav.phtml" />
</reference>
----
-----
</default>
$route = Mage::app()->getFrontController()->getRequest()->getRouteName();
$action = Mage::app()->getFrontController()->getRequest()->getActionName();
if($route == 'cms' && $action == 'index'):
echo "home page";
endif;
$is_homepage = Mage::getBlockSingleton('page/html_header')->getIsHomePage();
if($is_homepage)
{
echo "home page";
}
意味着我的条件是正确的,即#34;主页&#34;在每个页面上,即使它不是主页。 有没有找到主页的精确方法
如果我禁用Magento缓存,则可以正常使用
答案 0 :(得分:1)
这应该适合你:
{{1}}
答案 1 :(得分:0)
嗨,您需要更改,控制器名称是您的逻辑
/**
* get Controller name
*/
$controller=Mage::app()->getRequest()->getControllerName();
if($route == 'cms' && $action == 'index'&& $controller='index'):
echo "home page";
endif;
答案 2 :(得分:0)
您必须根据自己的身份更改主页标识符。
<?php
if(Mage::getSingleton('cms/page')->getIdentifier()=="home")
{
// Your code comes here !
}
?>