How to add active class in top links?Filter product collection for Criteo Tags in category page: module setup (config.xml)Top Menu cache problemHow to echo the configurable product price?Add active class to CMS page links in Top menu (static block links)custom layout not rendering for overridden login methodOverwrite not working as expectedMagento Top Links Login class disappears randomly!Add top links via extensionError Call to a member function getDescription()Magento unable to access block class function from another phtml

Reasons for using monsters as bioweapons

Derivative is just speed of change?

How can flights operated by the same company have such different prices when marketed by another?

Being told my "network" isn't PCI Complaint. I don't even have a server! Do I have to comply?

Python π = 1 + (1/2) + (1/3) + (1/4) - (1/5) + (1/6) + (1/7) + (1/8) + (1/9) - (1/10) ...1748 Euler

How to trick a fairly simplistic kill-counter?

Should students have access to past exams or an exam bank?

Is it moral to remove/hide certain parts of a photo, as a photographer?

What is the significance of $(logname)?

How do I find SFDX CLI default installation folder on Mac?

How do Canadians get a visa to go to Saudi Arabia?

Word for giving preference to the oldest child

Is there anyway to harden soft braised carrots?

Should I put my name first or last in the team members list?

How did Biff return to 2015 from 1955 without a lightning strike?

How to avoid a lengthy conversation with someone from the neighborhood I don't share interests with

How does Asimov's second law deal with contradictory orders from different people?

Is this mechanically safe?

Not taking Bereavement Leave

Is the EU really banning "toxic propellants" in 2020? How is that going to work?

Can the additional attack from a Samurai's Rapid Strike have advantage?

A game of red and black

Oath of redemption: Does Emmissary of Peace reflect damage taken from Aura of the Guardian?

Just how much information should you share with a former client?



How to add active class in top links?


Filter product collection for Criteo Tags in category page: module setup (config.xml)Top Menu cache problemHow to echo the configurable product price?Add active class to CMS page links in Top menu (static block links)custom layout not rendering for overridden login methodOverwrite not working as expectedMagento Top Links Login class disappears randomly!Add top links via extensionError Call to a member function getDescription()Magento unable to access block class function from another phtml






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








2















I want to add active class in top links?




appdesignfrontenddefaultdefaulttemplatepagetemplatelinks.phtml




<?php $_links = $this->getLinks(); ?>
<?php if (count($_links) > 0): ?>
<ul class="links"<?php if ($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif; ?>>
<?php foreach ($_links as $_link): ?>
<?php if ($_link instanceof Mage_Core_Block_Abstract): ?>
<?php echo $_link->toHtml() ?>
<?php else: ?>
<li<?php if ($_link->getIsFirst() || $_link->getIsLast()): ?> class="<?php if ($_link->getIsFirst()): ?>first<?php endif; ?><?php if ($_link->getIsLast()): ?> last<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>









share|improve this question


























  • on which condition you want to add active class

    – Bhupendra Jadeja
    Apr 17 '15 at 13:11

















2















I want to add active class in top links?




appdesignfrontenddefaultdefaulttemplatepagetemplatelinks.phtml




<?php $_links = $this->getLinks(); ?>
<?php if (count($_links) > 0): ?>
<ul class="links"<?php if ($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif; ?>>
<?php foreach ($_links as $_link): ?>
<?php if ($_link instanceof Mage_Core_Block_Abstract): ?>
<?php echo $_link->toHtml() ?>
<?php else: ?>
<li<?php if ($_link->getIsFirst() || $_link->getIsLast()): ?> class="<?php if ($_link->getIsFirst()): ?>first<?php endif; ?><?php if ($_link->getIsLast()): ?> last<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>









share|improve this question


























  • on which condition you want to add active class

    – Bhupendra Jadeja
    Apr 17 '15 at 13:11













2












2








2








I want to add active class in top links?




appdesignfrontenddefaultdefaulttemplatepagetemplatelinks.phtml




<?php $_links = $this->getLinks(); ?>
<?php if (count($_links) > 0): ?>
<ul class="links"<?php if ($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif; ?>>
<?php foreach ($_links as $_link): ?>
<?php if ($_link instanceof Mage_Core_Block_Abstract): ?>
<?php echo $_link->toHtml() ?>
<?php else: ?>
<li<?php if ($_link->getIsFirst() || $_link->getIsLast()): ?> class="<?php if ($_link->getIsFirst()): ?>first<?php endif; ?><?php if ($_link->getIsLast()): ?> last<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>









share|improve this question
















I want to add active class in top links?




appdesignfrontenddefaultdefaulttemplatepagetemplatelinks.phtml




<?php $_links = $this->getLinks(); ?>
<?php if (count($_links) > 0): ?>
<ul class="links"<?php if ($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif; ?>>
<?php foreach ($_links as $_link): ?>
<?php if ($_link instanceof Mage_Core_Block_Abstract): ?>
<?php echo $_link->toHtml() ?>
<?php else: ?>
<li<?php if ($_link->getIsFirst() || $_link->getIsLast()): ?> class="<?php if ($_link->getIsFirst()): ?>first<?php endif; ?><?php if ($_link->getIsLast()): ?> last<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>






magento-1.9 module custom






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 9 at 10:26









Satish Dubariya

4841 silver badge12 bronze badges




4841 silver badge12 bronze badges










asked Apr 17 '15 at 11:12









ravi patelravi patel

5764 silver badges18 bronze badges




5764 silver badges18 bronze badges















  • on which condition you want to add active class

    – Bhupendra Jadeja
    Apr 17 '15 at 13:11

















  • on which condition you want to add active class

    – Bhupendra Jadeja
    Apr 17 '15 at 13:11
















on which condition you want to add active class

– Bhupendra Jadeja
Apr 17 '15 at 13:11





on which condition you want to add active class

– Bhupendra Jadeja
Apr 17 '15 at 13:11










2 Answers
2






active

oldest

votes


















0














what about:



<?php $_links = $this->getLinks(); ?>
<?php
// active states
// using $_link->getBeforeText() against the RouteName or Idenifier ti get active states
$routeName = Mage::app()->getRequest()->getRouteName();
$identifier = Mage::getSingleton('cms/page')->getIdentifier();
if ($identifier ==null):
$identifier = $routeName;
endif;
?>
<?php if(count($_links)>0): ?>
<ul class="links"<?php if($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif;?>>
<?php foreach($_links as $_link): ?>
<?php if ($_link instanceof Mage_Core_Block_Abstract):?>
<?php echo $_link->toHtml() ?>
<?php else: ?>
<li class="<?php echo $_link->getBeforeText(); if( $identifier == $_link->getBeforeText()): echo " active"; endif; ?> <?php if($_link->getIsFirst()||$_link->getIsLast()): ?><?php if($_link->getIsFirst()): ?>first<?php endif; ?><?php if($_link->getIsLast()): ?> last<?php endif; ?><?php endif; ?>" <?php echo $_link->getLiParams() ?>><?php // echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
<?php endif;?>
<?php endforeach; ?>
</ul>

<?php endif; ?>





share|improve this answer

























  • some right but some times 2 or more links active because of route-name or identifier is same for 2 links.

    – ravi patel
    Apr 17 '15 at 12:52











  • Can you give me an example of same route-name

    – Ahmed Elawadi
    Apr 17 '15 at 12:53











  • "customer" all ways display active class only in my account just see default magento top links.

    – ravi patel
    Apr 17 '15 at 12:57












  • Where I used this script I didn't have any links to customer pages, not sure if getActionName() will work.

    – Ahmed Elawadi
    Apr 17 '15 at 13:08



















0














A better and more cleaner and also simple approach would be to compare every link's url with the current url and if matches then add "active" class to it.



<?php $_links = $this->getLinks(); ?>
<?php $currentUrl = Mage::helper('core/url')->getCurrentUrl(); ?>

<?php if (count($_links) > 0): ?>
<ul class="links"<?php if ($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif; ?>>
<?php foreach ($_links as $_link): ?>
<?php if ($_link instanceof Mage_Core_Block_Abstract): ?>
<?php echo $_link->toHtml() ?>
<?php else: ?>
<li<?php if ($_link->getIsFirst() || $_link->getIsLast()): ?> class="<?php if ($_link->getIsFirst()): ?>first<?php endif; ?><?php if ($_link->getIsLast()): ?> last<?php endif; ?><?php if($_link->getUrl() == $currentUrl): ?> active<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>


But the urls if same shouldn't have even the difference of last slash or this condition won't work, so you might want to use rtrim($url, '/'); for removing last trailing slash.



Hope this helps.






share|improve this answer



























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "479"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f63959%2fhow-to-add-active-class-in-top-links%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    what about:



    <?php $_links = $this->getLinks(); ?>
    <?php
    // active states
    // using $_link->getBeforeText() against the RouteName or Idenifier ti get active states
    $routeName = Mage::app()->getRequest()->getRouteName();
    $identifier = Mage::getSingleton('cms/page')->getIdentifier();
    if ($identifier ==null):
    $identifier = $routeName;
    endif;
    ?>
    <?php if(count($_links)>0): ?>
    <ul class="links"<?php if($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif;?>>
    <?php foreach($_links as $_link): ?>
    <?php if ($_link instanceof Mage_Core_Block_Abstract):?>
    <?php echo $_link->toHtml() ?>
    <?php else: ?>
    <li class="<?php echo $_link->getBeforeText(); if( $identifier == $_link->getBeforeText()): echo " active"; endif; ?> <?php if($_link->getIsFirst()||$_link->getIsLast()): ?><?php if($_link->getIsFirst()): ?>first<?php endif; ?><?php if($_link->getIsLast()): ?> last<?php endif; ?><?php endif; ?>" <?php echo $_link->getLiParams() ?>><?php // echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
    <?php endif;?>
    <?php endforeach; ?>
    </ul>

    <?php endif; ?>





    share|improve this answer

























    • some right but some times 2 or more links active because of route-name or identifier is same for 2 links.

      – ravi patel
      Apr 17 '15 at 12:52











    • Can you give me an example of same route-name

      – Ahmed Elawadi
      Apr 17 '15 at 12:53











    • "customer" all ways display active class only in my account just see default magento top links.

      – ravi patel
      Apr 17 '15 at 12:57












    • Where I used this script I didn't have any links to customer pages, not sure if getActionName() will work.

      – Ahmed Elawadi
      Apr 17 '15 at 13:08
















    0














    what about:



    <?php $_links = $this->getLinks(); ?>
    <?php
    // active states
    // using $_link->getBeforeText() against the RouteName or Idenifier ti get active states
    $routeName = Mage::app()->getRequest()->getRouteName();
    $identifier = Mage::getSingleton('cms/page')->getIdentifier();
    if ($identifier ==null):
    $identifier = $routeName;
    endif;
    ?>
    <?php if(count($_links)>0): ?>
    <ul class="links"<?php if($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif;?>>
    <?php foreach($_links as $_link): ?>
    <?php if ($_link instanceof Mage_Core_Block_Abstract):?>
    <?php echo $_link->toHtml() ?>
    <?php else: ?>
    <li class="<?php echo $_link->getBeforeText(); if( $identifier == $_link->getBeforeText()): echo " active"; endif; ?> <?php if($_link->getIsFirst()||$_link->getIsLast()): ?><?php if($_link->getIsFirst()): ?>first<?php endif; ?><?php if($_link->getIsLast()): ?> last<?php endif; ?><?php endif; ?>" <?php echo $_link->getLiParams() ?>><?php // echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
    <?php endif;?>
    <?php endforeach; ?>
    </ul>

    <?php endif; ?>





    share|improve this answer

























    • some right but some times 2 or more links active because of route-name or identifier is same for 2 links.

      – ravi patel
      Apr 17 '15 at 12:52











    • Can you give me an example of same route-name

      – Ahmed Elawadi
      Apr 17 '15 at 12:53











    • "customer" all ways display active class only in my account just see default magento top links.

      – ravi patel
      Apr 17 '15 at 12:57












    • Where I used this script I didn't have any links to customer pages, not sure if getActionName() will work.

      – Ahmed Elawadi
      Apr 17 '15 at 13:08














    0












    0








    0







    what about:



    <?php $_links = $this->getLinks(); ?>
    <?php
    // active states
    // using $_link->getBeforeText() against the RouteName or Idenifier ti get active states
    $routeName = Mage::app()->getRequest()->getRouteName();
    $identifier = Mage::getSingleton('cms/page')->getIdentifier();
    if ($identifier ==null):
    $identifier = $routeName;
    endif;
    ?>
    <?php if(count($_links)>0): ?>
    <ul class="links"<?php if($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif;?>>
    <?php foreach($_links as $_link): ?>
    <?php if ($_link instanceof Mage_Core_Block_Abstract):?>
    <?php echo $_link->toHtml() ?>
    <?php else: ?>
    <li class="<?php echo $_link->getBeforeText(); if( $identifier == $_link->getBeforeText()): echo " active"; endif; ?> <?php if($_link->getIsFirst()||$_link->getIsLast()): ?><?php if($_link->getIsFirst()): ?>first<?php endif; ?><?php if($_link->getIsLast()): ?> last<?php endif; ?><?php endif; ?>" <?php echo $_link->getLiParams() ?>><?php // echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
    <?php endif;?>
    <?php endforeach; ?>
    </ul>

    <?php endif; ?>





    share|improve this answer













    what about:



    <?php $_links = $this->getLinks(); ?>
    <?php
    // active states
    // using $_link->getBeforeText() against the RouteName or Idenifier ti get active states
    $routeName = Mage::app()->getRequest()->getRouteName();
    $identifier = Mage::getSingleton('cms/page')->getIdentifier();
    if ($identifier ==null):
    $identifier = $routeName;
    endif;
    ?>
    <?php if(count($_links)>0): ?>
    <ul class="links"<?php if($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif;?>>
    <?php foreach($_links as $_link): ?>
    <?php if ($_link instanceof Mage_Core_Block_Abstract):?>
    <?php echo $_link->toHtml() ?>
    <?php else: ?>
    <li class="<?php echo $_link->getBeforeText(); if( $identifier == $_link->getBeforeText()): echo " active"; endif; ?> <?php if($_link->getIsFirst()||$_link->getIsLast()): ?><?php if($_link->getIsFirst()): ?>first<?php endif; ?><?php if($_link->getIsLast()): ?> last<?php endif; ?><?php endif; ?>" <?php echo $_link->getLiParams() ?>><?php // echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
    <?php endif;?>
    <?php endforeach; ?>
    </ul>

    <?php endif; ?>






    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Apr 17 '15 at 11:24









    Ahmed ElawadiAhmed Elawadi

    1,4287 silver badges20 bronze badges




    1,4287 silver badges20 bronze badges















    • some right but some times 2 or more links active because of route-name or identifier is same for 2 links.

      – ravi patel
      Apr 17 '15 at 12:52











    • Can you give me an example of same route-name

      – Ahmed Elawadi
      Apr 17 '15 at 12:53











    • "customer" all ways display active class only in my account just see default magento top links.

      – ravi patel
      Apr 17 '15 at 12:57












    • Where I used this script I didn't have any links to customer pages, not sure if getActionName() will work.

      – Ahmed Elawadi
      Apr 17 '15 at 13:08


















    • some right but some times 2 or more links active because of route-name or identifier is same for 2 links.

      – ravi patel
      Apr 17 '15 at 12:52











    • Can you give me an example of same route-name

      – Ahmed Elawadi
      Apr 17 '15 at 12:53











    • "customer" all ways display active class only in my account just see default magento top links.

      – ravi patel
      Apr 17 '15 at 12:57












    • Where I used this script I didn't have any links to customer pages, not sure if getActionName() will work.

      – Ahmed Elawadi
      Apr 17 '15 at 13:08

















    some right but some times 2 or more links active because of route-name or identifier is same for 2 links.

    – ravi patel
    Apr 17 '15 at 12:52





    some right but some times 2 or more links active because of route-name or identifier is same for 2 links.

    – ravi patel
    Apr 17 '15 at 12:52













    Can you give me an example of same route-name

    – Ahmed Elawadi
    Apr 17 '15 at 12:53





    Can you give me an example of same route-name

    – Ahmed Elawadi
    Apr 17 '15 at 12:53













    "customer" all ways display active class only in my account just see default magento top links.

    – ravi patel
    Apr 17 '15 at 12:57






    "customer" all ways display active class only in my account just see default magento top links.

    – ravi patel
    Apr 17 '15 at 12:57














    Where I used this script I didn't have any links to customer pages, not sure if getActionName() will work.

    – Ahmed Elawadi
    Apr 17 '15 at 13:08






    Where I used this script I didn't have any links to customer pages, not sure if getActionName() will work.

    – Ahmed Elawadi
    Apr 17 '15 at 13:08














    0














    A better and more cleaner and also simple approach would be to compare every link's url with the current url and if matches then add "active" class to it.



    <?php $_links = $this->getLinks(); ?>
    <?php $currentUrl = Mage::helper('core/url')->getCurrentUrl(); ?>

    <?php if (count($_links) > 0): ?>
    <ul class="links"<?php if ($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif; ?>>
    <?php foreach ($_links as $_link): ?>
    <?php if ($_link instanceof Mage_Core_Block_Abstract): ?>
    <?php echo $_link->toHtml() ?>
    <?php else: ?>
    <li<?php if ($_link->getIsFirst() || $_link->getIsLast()): ?> class="<?php if ($_link->getIsFirst()): ?>first<?php endif; ?><?php if ($_link->getIsLast()): ?> last<?php endif; ?><?php if($_link->getUrl() == $currentUrl): ?> active<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
    <?php endif; ?>
    <?php endforeach; ?>
    </ul>
    <?php endif; ?>


    But the urls if same shouldn't have even the difference of last slash or this condition won't work, so you might want to use rtrim($url, '/'); for removing last trailing slash.



    Hope this helps.






    share|improve this answer





























      0














      A better and more cleaner and also simple approach would be to compare every link's url with the current url and if matches then add "active" class to it.



      <?php $_links = $this->getLinks(); ?>
      <?php $currentUrl = Mage::helper('core/url')->getCurrentUrl(); ?>

      <?php if (count($_links) > 0): ?>
      <ul class="links"<?php if ($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif; ?>>
      <?php foreach ($_links as $_link): ?>
      <?php if ($_link instanceof Mage_Core_Block_Abstract): ?>
      <?php echo $_link->toHtml() ?>
      <?php else: ?>
      <li<?php if ($_link->getIsFirst() || $_link->getIsLast()): ?> class="<?php if ($_link->getIsFirst()): ?>first<?php endif; ?><?php if ($_link->getIsLast()): ?> last<?php endif; ?><?php if($_link->getUrl() == $currentUrl): ?> active<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
      <?php endif; ?>
      <?php endforeach; ?>
      </ul>
      <?php endif; ?>


      But the urls if same shouldn't have even the difference of last slash or this condition won't work, so you might want to use rtrim($url, '/'); for removing last trailing slash.



      Hope this helps.






      share|improve this answer



























        0












        0








        0







        A better and more cleaner and also simple approach would be to compare every link's url with the current url and if matches then add "active" class to it.



        <?php $_links = $this->getLinks(); ?>
        <?php $currentUrl = Mage::helper('core/url')->getCurrentUrl(); ?>

        <?php if (count($_links) > 0): ?>
        <ul class="links"<?php if ($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif; ?>>
        <?php foreach ($_links as $_link): ?>
        <?php if ($_link instanceof Mage_Core_Block_Abstract): ?>
        <?php echo $_link->toHtml() ?>
        <?php else: ?>
        <li<?php if ($_link->getIsFirst() || $_link->getIsLast()): ?> class="<?php if ($_link->getIsFirst()): ?>first<?php endif; ?><?php if ($_link->getIsLast()): ?> last<?php endif; ?><?php if($_link->getUrl() == $currentUrl): ?> active<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
        <?php endif; ?>
        <?php endforeach; ?>
        </ul>
        <?php endif; ?>


        But the urls if same shouldn't have even the difference of last slash or this condition won't work, so you might want to use rtrim($url, '/'); for removing last trailing slash.



        Hope this helps.






        share|improve this answer













        A better and more cleaner and also simple approach would be to compare every link's url with the current url and if matches then add "active" class to it.



        <?php $_links = $this->getLinks(); ?>
        <?php $currentUrl = Mage::helper('core/url')->getCurrentUrl(); ?>

        <?php if (count($_links) > 0): ?>
        <ul class="links"<?php if ($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif; ?>>
        <?php foreach ($_links as $_link): ?>
        <?php if ($_link instanceof Mage_Core_Block_Abstract): ?>
        <?php echo $_link->toHtml() ?>
        <?php else: ?>
        <li<?php if ($_link->getIsFirst() || $_link->getIsLast()): ?> class="<?php if ($_link->getIsFirst()): ?>first<?php endif; ?><?php if ($_link->getIsLast()): ?> last<?php endif; ?><?php if($_link->getUrl() == $currentUrl): ?> active<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
        <?php endif; ?>
        <?php endforeach; ?>
        </ul>
        <?php endif; ?>


        But the urls if same shouldn't have even the difference of last slash or this condition won't work, so you might want to use rtrim($url, '/'); for removing last trailing slash.



        Hope this helps.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 6 '15 at 19:46









        Vicky DevVicky Dev

        1,3127 gold badges18 silver badges40 bronze badges




        1,3127 gold badges18 silver badges40 bronze badges






























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Magento Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f63959%2fhow-to-add-active-class-in-top-links%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

            Circuit construction for execution of conditional statements using least significant bitHow are two different registers being used as “control”?How exactly is the stated composite state of the two registers being produced using the $R_zz$ controlled rotations?Efficiently performing controlled rotations in HHLWould this quantum algorithm implementation work?How to prepare a superposed states of odd integers from $1$ to $sqrtN$?Why is this implementation of the order finding algorithm not working?Circuit construction for Hamiltonian simulationHow can I invert the least significant bit of a certain term of a superposed state?Implementing an oracleImplementing a controlled sum operation

            Magento 2 “No Payment Methods” in Admin New OrderHow to integrate Paypal Express Checkout with the Magento APIMagento 1.5 - Sales > Order > edit order and shipping methods disappearAuto Invoice Check/Money Order Payment methodAdd more simple payment methods?Shipping methods not showingWhat should I do to change payment methods if changing the configuration has no effects?1.9 - No Payment Methods showing upMy Payment Methods not Showing for downloadable/virtual product when checkout?Magento2 API to access internal payment methodHow to call an existing payment methods in the registration form?