我已经创建了用于突出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;
}
答案 0 :(得分:0)
我认为你的主要问题是在Joomla中将mod_mainmenu
更改为mod_menu
! 1.6 +。
这会导致您的模板覆盖不被执行。
您需要将其路径更改为templates/<your template>/html/mod_menu/default.php
。
请注意,如果您有多个菜单,这将覆盖您网站上的所有菜单。
如果只想覆盖此菜单,可以创建布局覆盖,您可以选择性地应用于组件和模块。它解释为here。
请注意,mod_mainmenu
和mod_menu
并不完全相同(例如,当前项目的current
ID已更改为current
类以防止w3c显示多个菜单时的验证问题。)
因此,您可能需要稍微调整模板覆盖代码。