如何检查页面是否为Magento 1.8.0.1中启用缓存的主页?
我在phtml文件中尝试了Magento 1.8.1.0中的以下代码 包含代码的文件是如何检查页面是否为Magento 1.8.0.1中启用缓存的主页?,magento,magento-1.8,Magento,Magento 1.8,我在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=
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>
意味着我得到的条件为真,即“主页”上的每一页,即使它不是主页。
有没有确切的方法找到主页
如果禁用Magento缓存,它工作正常您好,您需要更改,控制器名称是您的逻辑
/**
* get Controller name
*/
$controller=Mage::app()->getRequest()->getControllerName();
if($route == 'cms' && $action == 'index'&& $controller='index'):
echo "home page";
endif;
您必须根据您的更改主页标识符
<?php
if(Mage::getSingleton('cms/page')->getIdentifier()=="home")
{
// Your code comes here !
}
?>
这应该适合您:
$routeName = Mage::app()->getRequest()->getRouteName();
$identifier = Mage::getSingleton('cms/page')->getIdentifier();
if ($routeName == 'cms' && $identifier == 'home') {
echo 'Homepage';
}
你能告诉我你是用哪个模板写这段代码的吗?“工作不好”是什么意思?thxI在布局中看不到catalog/navigation/custom_leftnav.phtml。试着用一个好的替换catalog/navigation/left_nav.phtml。一个干净的方法是创建一个新模块,并用setTemplate方法更新布局。@A我更新了我的问题是否刷新了缓存?问题是,Magento缓存了块,所以每个页面上的这个值都是相同的。
<?php
if(Mage::getSingleton('cms/page')->getIdentifier()=="home")
{
// Your code comes here !
}
?>
$routeName = Mage::app()->getRequest()->getRouteName();
$identifier = Mage::getSingleton('cms/page')->getIdentifier();
if ($routeName == 'cms' && $identifier == 'home') {
echo 'Homepage';
}