如何获取Joomla中突出显示的活动菜单项

时间:2013-08-10 12:21:21

标签: css joomla joomla2.5

我已经创建了用于突出Joomla中Active Menu颜色的CSS,虽然颜色变化在悬停时工作正常,但是Active Menu中的颜色没有变化

任何一个假期!! 注意 - 我们在Joomla 1.5旧版本中还有一个网站 - 这个代码在活动菜单颜色更改时工作正常。 然而问题出现在Joomla 2.5中

CSS

.bluetabs li a:visited{
color: #FFFFFF;
              }
.bluetabs li a:hover{
text-decoration: underline;
color: #FFFFFF;
background:#b60205;
text-decoration:none;
              }
.bluetabs li.selected{
background:#b60205;
padding:0;
             }
.bluetabs li.selected a{ /*selected main tab style */
 background:#b60205;
  border-bottom-color: white;
             }
 .bluetabs li.selected a:hover{ /*selected main tab style */
  text-decoration: none;
              }

这是正确定义所选菜单的功能

    foreach($rows as $row){
        if(($lt+1) < $cnt ){
            $maincls = "";
        }else{
            $maincls = "last ";
        }
        if($parentid == $row->id){
            $class = $clsArray[$lt].'selected';
        }else{
            $class = $clsArray[$lt];
        }
    }
    $list.='</ul>';
}
echo $list;
//echo $list_sub;
    }

网站名称为: - http://www.ecarloan.in 但是,通过Firebug检查它,它没有在活动菜单中占用'li class = selected',而是显示如下: -

没有执行: -

 <li class="selected">

相反显示,此代码位于活动css中,用于示例活动菜单

<li class="item-101 current active">
<a href="/">Discussion Board</a>
</li>

整个功能代码是: -

foreach($rows as $row){
        if(($lt+1) < $cnt ){
            $maincls = "";
        }else{
            $maincls = "last ";
        }       
        if($parentid == $row->id){
            $class = $clsArray[$lt].'selected ';
        }else{
            $class = $clsArray[$lt];
        }
        if($vid!="" and $row->id==8){

        $list.=' <li class="'.$class.'"><a  href="dealer">Service</a></li>';
        }else{
        $list.=' <li class="'.$class.'"><a  href="'.mosGetLinkTop1($row).'">'.$row->name.'</a></li>';
        }
        }
    $list.='</ul>';
}
echo $list;
//echo $list_sub;

}

1 个答案:

答案 0 :(得分:0)

我认为你的主要问题是在Joomla中将mod_mainmenu更改为mod_menu! 1.6 +。

这会导致您的模板覆盖不被执行。

您需要将其路径更改为templates/<your template>/html/mod_menu/default.php。 请注意,如果您有多个菜单,这将覆盖您网站上的所有菜单。

如果只想覆盖此菜单,可以创建布局覆盖,您可以选择性地应用于组件和模块。它解释为here

请注意,mod_mainmenumod_menu并不完全相同(例如,当前项目的current ID已更改为current类以防止w3c显示多个菜单时的验证问题。)

因此,您可能需要稍微调整模板覆盖代码。