添加活动类的链接

时间:2013-10-17 07:21:30

标签: class magento navigation php

我使用下面描述的方法为我的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>

2 个答案:

答案 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;?>

试试这个,希望会有所帮助!