在magento中单击toplink时如何使其处于活动状态?

在magento中单击toplink时如何使其处于活动状态?,magento,Magento,我想使我的topmenu链接在单击时处于活动状态。它包含主页、特价(类别名称)、关于我们(cms页面)、常见问题解答(cms页面)和联系我们。我希望当我单击上面的任何链接时,该链接将处于活动状态。我使用了一个类“active-1”。我希望在单击该链接时有任何条件使toplink处于活动状态。 topmenu.phtml页面中使用的代码使您易于理解 <style> .nav-container ul.somelink li.active-1 a{ background:#fa9c04;

我想使我的topmenu链接在单击时处于活动状态。它包含
主页、特价(类别名称)、关于我们(cms页面)、常见问题解答(cms页面)和联系我们
。我希望当我单击上面的任何链接时,该链接将处于活动状态。我使用了一个类“active-1”。我希望在单击该链接时有任何条件使toplink处于活动状态。
topmenu.phtml
页面中使用的代码使您易于理解

<style>
.nav-container ul.somelink li.active-1 a{ background:#fa9c04;}
</style>
<?php $_menu = $this->getHtml('level-top') ?>
<?php $page_route=Mage::app()->getRequest()->getRouteName(); ?>
<?php $pageID = Mage::getBlockSingleton('cms/page')->getPage()->getIdentifier();?>
<div class="nav-container">
<ul class="somelink">
<li <?php if($pageID=="home") echo 'class="active-1"';?> ><a href="
<?php echo Mage::getBaseUrl();?>">Home</a></li>
<li <?php if($pageID=="specials.html") echo 'class="active-1"';?>><a href="
<?php echo $this->getUrl('specials.html') ?>">Specials</a></li>
<li <?php if($pageID=="about-us") echo 'class="active-1"';?>><a href="
<?php echo $this->getUrl('about-us') ?>">About Us</a></li>
<li <?php if($pageID=="faq") echo 'class="active-1"';?>><a href="
<?php echo $this->getUrl('faq') ?>">FAQ</a></li>
<li <?php if($page_route=="contacts") echo 'class="active-1"';?>><a href="
<?php echo Mage::getBaseUrl();?>contacts">contact Us</a></li>

</ul>
</div>

.nav container ul.somelink li.active-1 a{background:#fa9c04;}

    嗨,我想这会有帮助的。你试试这个

    <?php $_menu = $this->getHtml('level-top') ?>
    <?php $page_route=Mage::app()->getRequest()->getRouteName(); ?>
    <?php $pageID = Mage::getBlockSingleton('cms/page')->getPage()->getIdentifier();?>
    <div class="nav-container">
    <ul class="somelink"> 
       <li <?php if($pageID=="home") echo 'class="active"';?> ><a href="
    <?php echo    Mage::getBaseUrl();?>">Home</a></li>
       <li <?php if($pageID=="specials.html") echo 'class="active"';?>><a href="
    <?php echo   $this->getUrl('specials.html') ?>">Specials</a></li>
        <li <?php if($pageID=="about-us") echo 'class="active"';?>><a  href="
    <?php echo $this->getUrl('about-us') ?>">About Us</a></li>
         <li <?php if($pageID=="faq") echo 'class="active"';?>><a href="
    <?php echo    $this->getUrl('faq') ?>">FAQ</a></li>
         <li <?php if($page_route=="contacts") echo 'class="active"';?>><a href="
    <?php echo  Mage::getBaseUrl();?>contacts">contact Us</a></li>
    
    </ul>
    </div>
    
    
    

      我通常是通过css来完成的。
      因此,让菜单与您的一样,但要为每个项目添加一些类:

      <?php $_menu = $this->getHtml('level-top') ?>
      <div class="nav-container">
          <ul class="somelink"> 
             <li><a class="home-link" href="<?php echo $this->getUrl('') ?>">Home</a></li>
             <li><a class="specials-link" href="<?php echo $this->getUrl('specials.html') ?>">Specials</a></li>
              <li><a class="about-link"  href="<?php echo $this->getUrl('about-us') ?>">About Us</a></li>
               <li><a class="faq-link" href="<?php echo $this->getUrl('faq') ?>">FAQ</a></li>
               <li><a class="contact-link" href="<?php echo $this->getUrl('contacts') ?>">Contact Us</a></li>   
      
          </ul>
      </div>
      
      一般来说,访问菜单中的每一页,从正文中获取特定的类,并在css中添加这样一行

      .[body-class-here] .[link-to-be-selected-class-here] {
          color:red
      }
      
      1.7+版本的另一种选择是在
    事件之前使用
    page\u block\u html\u topmenu\u gethtml\u直接在顶部菜单中添加菜单项。添加菜单项时,该项支持“活动”属性,您可以在其中放置代码以激活链接


    不,它不工作…我使用了与我编写的相同的编码和样式。nav container ul li.active{background:#fa9c04;}然后也没有摄像头。请单击“联系我们”链接,让我知道它是否处于活动状态。请在此处提供正确的页面标识符@你应该加上这个。因为这将获得页面标识符。是的,我已经添加了……我也使用了正确的标识符……这里是Home Home,Specials Specials.html,关于我们关于我们,联系我们我使用下面的编码,它不起作用,请帮助我这是非常迫切的。请查看上面的编码并告诉我哪里犯了错误
    .[body-class-here] .[link-to-be-selected-class-here] {
        color:red
    }