在自定义Magento左侧菜单上添加活动类

时间:2016-07-26 14:49:12

标签: php jquery magento

我已经为Magento提供了一个相当不错的菜单。但是我希望通过添加活动类来获得更多功能。现在,我不是一个php wiz,实际上我并不熟悉它,但是由于逻辑和反复试验,我走了很长一段路。但我认为这可能是我已经尝试过的小事,但在这个设置中没有正确或不容易。

所以,我正在寻找一种方法,在类别处于活动状态时,将活动类添加到<a>标记,和/或子类别处于活动状态。

这就是菜单现在如何运作的方式:

&#13;
&#13;
<?
$_category  = $this->getCurrentCategory();
$subcatid = $_category->getId();
$parentCategory = Mage::getBlockSingleton('catalog/navigation')->getCurrentCategory()->parent_id;
$name = $_category->getName();
$root_category = Mage::getModel('catalog/category')->load($subcatid); 
$subcategories = $root_category->getChildren();
$subcategories2  = $root_category->getChildrenCategories();
?>

<nav id="vert-nav" class="custom-left-menu" role="navigation">
<span class="menu-h3">
<?php $level = $this->getCurrentCategory()->getParentCategory()->getLevel();
if($level > 1){                 
    echo '<a itemprop="url" href="'.$this->getCurrentCategory()->getParentCategory()->getName().'" title="'.$this->getCurrentCategory()->getParentCategory()->getName().'"><span itemprop="name">'.$this->getCurrentCategory()->getParentCategory()->getName().'</span></a>';
    }
    else{
    echo '<a itemprop="url" href="'.$this->escapeHtml($_category->getName()).'" title="'.$this->escapeHtml($_category->getName()).'"><span itemprop="name">'.$this->escapeHtml($_category->getName()).'</span></a>';        
    }    
?>
</span>
<ol>
<?php 
$_anyActive = false; 
foreach ($this->getStoreCategories() as $_category) { $_anyActive = $_anyActive || $this->isCategoryActive($_category); }
?>

<?php if($subcategories != "")
    {
   foreach ( $subcategories2 as $subCategory )
      {
      $subCategory->load();
      if( $subCategory->getIsActive() && $subCategory->getIncludeInMenu() )
         {
         echo '<li><a itemprop="url" href="'.$subCategory->getURL().'" title="'.$subCategory->getName().'"><span itemprop="name">'.$subCategory->getName().'</span></a></li>';
         }
      }
    }
else
    {
    $root_category = Mage::getModel('catalog/category')->load($parentCategory);
   $subCategories = $root_category->getChildrenCategories();
   foreach ( $subCategories as $subCategory )
      {
      $subCategory->load();
      if( $subCategory->getIsActive() && $subCategory->getIncludeInMenu() )
         {
            echo '<li><a itemprop="url" href="'.$subCategory->getURL().'" title="'.$subCategory->getName().'"><span itemprop="name">'.$subCategory->getName().'</span></a></li>';
         }
      }
   }
?>
</ol>
</nav>
&#13;
&#13;
&#13;

所以我需要的是,它增加了&#34; active&#34; <a>标记处于活动状态时的类,无论是否为(最好)是否为子菜单项。

我尝试了一些事情,但我认为由于缺乏知识,我实施的是错误的。任何人都可以帮助=)

更新 忘记提及,它是magento,点击链接时页面重新加载。

0 个答案:

没有答案