【问题标题】:How to get Active Menu Item Highlighted in Joomla如何在 Joomla 中突出显示活动菜单项
【发布时间】:2013-08-12 06:41:15
【问题描述】:

我在 Joomla 中创建了用于突出显示活动菜单颜色的 CSS,虽然颜色变化在悬停时工作正常,但活动菜单的颜色没有变化

任何假期! 注意 - 我们在 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;

}

【问题讨论】:

  • 您有显示此行为的实时页面吗?我的第一个猜测是在 PHP 中的 'selected' 类添加中缺少一个空格(也许$clsArray[$lt] 不以空格结尾),但我不能制作更多您提供的代码。
  • MasterAm 的分析听起来不错。检查输出页面以查看菜单项上的实际类。
  • 当然,站点名称是 www.ecarloan.in 。也添加了功能代码。
  • 嗯,这是一个完全不同的问题。让我们先执行您的覆盖。 php文件路径是什么?应该是templates/&lt;your template&gt;/html/mod_menu/default.php。我怀疑它是mod_mainmenu,这是J1.5 使用的。不过,我不知道它们是否兼容。

标签: css joomla joomla2.5


【解决方案1】:

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

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

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

如果你只想覆盖这个菜单,你可以创建一个布局覆盖,你可以有选择地应用到组件和模块。解释为here

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

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

【讨论】:

    猜你喜欢
    • 2011-07-09
    • 1970-01-01
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 2014-10-08
    • 1970-01-01
    相关资源
    最近更新 更多