我使用下面描述的方法为我的CMS页面添加活动类的链接。问题是,当我点击任何链接时它会变为活动状态,但是在点击其他一些链接之后,该类仍然存在。所以其余的链接都没有获得活动类,只是第一次打开。知道问题出在哪里?
<li class="level0 nav-2 parent <?php if (strpos(Mage::helper('core/url')->getCurrentUrl(),'custom') != false ) :?> active<?php endif;?>">
<a href="<?php echo $this->getUrl('') . 'custom' ?>"><?php echo $this->__('TEXT OF MY LINK 1') ?></a>
</li>
<li class="level0 nav-3 parent <?php if (strpos(Mage::helper('core/url')->getCurrentUrl(),'wholesale') != false ) :?> active<?php endif;?>">
<a href="<?php echo $this->getUrl('') . 'wholesale' ?>"><?php echo $this->__('TEXT OF MY LINK 2') ?></a>
</li>
<li class="level0 nav-4 parent <?php if (strpos(Mage::helper('core/url')->getCurrentUrl(),'faq') != false ) :?> active<?php endif;?>">
<a href="<?php echo $this->getUrl('') . 'faq' ?>"><?php echo $this->__('TEXT OF MY LINK 3') ?></a>
</li>
答案 0 :(得分:0)
尝试改变:
if (strpos(Mage::helper('core/url')->getCurrentUrl(),'custom') != false )
到
if (strpos(Mage::helper('core/url')->getCurrentUrl(),'custom') !== false )
或者您可以获得当前的CMS页面标识符并进行相应的检查,例如
$current_page = Mage::getSingleton('cms/page')->getIdentifier();
//and check & add class
<li class="level0 nav-2 parent <?php if($current_page == 'custom' ):?> active <?php endif;?>">
....
答案 1 :(得分:0)
您无需检查!=false
即可直接使用以下代码。
<?php if (strpos(Mage::helper('core/url')->getCurrentUrl(),'custom')) :?> active<?php endif;?>
更新后,清除Magento Admin中的所有缓存,从System-&gt;缓存管理
OR 更新的代码:
<?php if (Mage::getSingleton('cms/page')->getIdentifier() == 'custom') :?> active<?php endif;?>
试试这个,希望会有所帮助!