Joomla:如何在浏览单独的子菜单项时保持主菜单项突出显示?

发布于 2024-11-16 20:25:08 字数 144 浏览 7 评论 0原文

我正在尝试制作一个水平的“类别”主菜单和一个与主菜单分开的垂直子菜单。当我选择一个类别时,会显示其主页。但是,当我从子菜单中选择另一个页面时,该页面应该来自同一类别,然后主菜单中的“类别”项将停止突出显示。所有菜单都定义为“独立”模块,我使用的是 Joomla 1.6.3。

I'm trying to make a horizontal, "category" main menu and a vertical submenu, separated from the main one. When I select a category its main page is displayed. But when I select another page from the submenu, that is supposed to be from the same category, then the "category" item from main menu stops being highlighted. All the menus are defined as a "stand-alone" modules and I'm using Joomla 1.6.3.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

方觉久 2024-11-23 20:25:08

任何类型的突出显示或效果都基于 CSS 类,这些类是在创建菜单时通过 XML 分配的。如果您将每个菜单分开而不是一个大的层次结构,您可能会遇到问题。您的菜单结构应使用层次结构在一个模块中制作。

如果我们查看 Joomla 1.6 演示页面:hhttp://demo16.cloudaccess.net/index.php/using-joomla/extensions 我们可以看到“Using Joomla!”是父级,“使用扩展是子级”。让我们看看分配给

  • 每个链接的 CSS 类

    使用 Joomla - class="active Deep Parent"
    使用扩展 - class="当前活动的深层父级"

    然后,您可以根据层次结构使用 CSS Javascript 控制格式,例如

     li.parent li.current { CSS here } //根据当前做事
     li.active li.active { css here } // 为层次结构中的每个级别添加一个 .active,例如要影响 3 种方式,需要在层次结构选择器中使用三个 li.active  
    

    例如,以下是该页面上使用的一些 CSS 规则:

    ul.menu li.active a:link, ul.menu li.active a:visited { 
        颜色:#333333;
    }
    
    ul.menu li.active ul li.active a:link, ul.menu li.active ul li.active a:visited { 
         边框底部颜色:#ffffff;
         边框底部样式:实心;
         边框底部宽度:1px;
         左边框颜色:当前颜色;
         左边框样式:无;
         左边框宽度:0px;
         右边框颜色:当前颜色;
         右边框样式:无;
         右边框宽度:0px;
         边框顶部颜色:当前颜色;
         顶部边框样式:无;
         顶部边框宽度:0px;
         颜色:#333333;
     }
    

    如果您没有使用一个大菜单来处理所有内容,那么父项将不会添加正确的 CSS 类,您将不得不执行更复杂的 JavaScript。

  • Any type of highlighting or effect is based upon CSS classes which are assigned in the creation of the menu via XML. If you have each menu as separate instead of one large hierarchy you may run into problems. Your menu structure should be made in one module using hierarchy.

    If we look at the Joomla 1.6 demo page at: hhttp://demo16.cloudaccess.net/index.php/using-joomla/extensions We can see that "Using Joomla!" is the parent and "Using Extensions is the child". Let's look at the CSS classes assigned to the

  • for each of those links

    Using Joomla - class="active deeper parent"
    Using Extensions - class="current active deeper parent"

    You can then control formatting using CSS Javascript based upon the hierarchy like

     li.parent li.current { CSS here } //do things based on the current
     li.active li.active { css here } // add an .active for each level down the hierarchy, for example to affect 3 ways in, require three li.actives in the hierarchical-selector  
    

    For example here are some the CSS rules being used on that page:

    ul.menu li.active a:link, ul.menu li.active a:visited { 
        color: #333333;
    }
    
    ul.menu li.active ul li.active a:link, ul.menu li.active ul li.active a:visited { 
         border-bottom-color: #ffffff;
         border-bottom-style: solid;
         border-bottom-width: 1px;
         border-left-color: currentColor;
         border-left-style: none;
         border-left-width: 0px;
         border-right-color: currentColor;
         border-right-style: none;
         border-right-width: 0px;
         border-top-color: currentColor;
         border-top-style: none;
         border-top-width: 0px;
         color: #333333;
     }
    

    If you are not using one large menu for everything, then the parent items will not have the correct CSS classes added and you will have to do more complex javascript.

  • 愿得七秒忆 2024-11-23 20:25:08

    当时我不知道的是,我应该将顶部菜单中的每个项目设置为菜单项别名。这使我能够在从子菜单中选择项目时保持该项目突出显示。

    根据Joomla文档http://docs.joomla.org/Help16:Menus_Menu_Item_Manager_Edit#Menu_Item_Alias :

    “此菜单项类型创建到现有菜单项的链接。它允许
    您在两个或多个不同的菜单上有相同的菜单项
    无需重复设置。因此,举例来说,如果您更改
    具有链接到它的别名的菜单项的参数,别名
    将自动获取相同的更改。”

    对于那些像我一样之前正在为 Joomla 菜单的想法而苦苦挣扎的人 - 这种配置中的主菜单位于“模块菜单”中,开始和结束级别设置为 1(基本选项),子菜单位于不同的“模块”中,但具有相同的菜单,但从级别 2 开始。

    What I didn't know at the time was that I should set each item in the top menu as a Menu Item Alias. This allowed me to keep the item highlighted when items were selected from the submenu.

    According to Joomla documentation http://docs.joomla.org/Help16:Menus_Menu_Item_Manager_Edit#Menu_Item_Alias:

    "This Menu Item Type creates a Link to an existing Menu Item. It allows
    you to have identical Menu Items on two or more different Menus
    without duplicating the settings. So, for example, if you change a
    parameter of a Menu Item that has an Alias linked to it, the Alias
    will automatically acquire the same change."

    For those who, like me before, are struggling with the idea of Joomla menus - the main menu in such configuration sits in a "Module Menu" with Start and End Level set to 1 (Basic Options), and the submenu sits in a different "Module", but carries the same menu, buts starts from Level 2.

    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文