【问题标题】:Adding links with active classes添加具有活动类的链接
【发布时间】:2013-10-17 07:21:30
【问题描述】:

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

【问题讨论】:

    标签: class magento navigation php


    【解决方案1】:

    尝试改变:

    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;?>">
    ....
    

    【讨论】:

    • 奇怪,但它不起作用。没有变化 - 类在第一次点击时出现,并保持相同的链接。
    • @capola 你在 $current_page 变量中得到了正确的名称吗..?
    【解决方案2】:

    您可以直接使用下面的代码,而不是检查!=false

    <?php if (strpos(Mage::helper('core/url')->getCurrentUrl(),'custom')) :?> active<?php endif;?>
    

    更新后,从系统->缓存管理中清除 Magento Admin 的所有缓存

    或 更新代码:

    <?php if (Mage::getSingleton('cms/page')->getIdentifier() == 'custom') :?> active<?php endif;?>
    

    试试这个,希望对你有帮助!

    【讨论】:

    • 谢谢,但它也不起作用。代码位于 template\codnitive\sidenav\navigation.phtml - Codnitives 导航扩展,如果您认为这很重要。
    • 使用Mage::getSingleton('cms/page')-&gt;getIdentifier(); 代替Mage::helper('core/url')-&gt;getCurrentUrl(),'custom')。我也更新了代码。
    • 奇怪,但它没有帮助。只有第一个链接获得活动类。
    猜你喜欢
    • 2017-11-26
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 2012-01-12
    • 2021-07-15
    • 2010-12-29
    相关资源
    最近更新 更多