【问题标题】:Joomla: Dealing with Sub menusJoomla:处理子菜单
【发布时间】:2015-04-10 20:25:31
【问题描述】:

如何隐藏特定菜单的子菜单(下拉菜单)。例如,我有 3 个菜单;足球、篮球和足球。当我将鼠标悬停在足球菜单上时,我会看到名为梅西、罗纳尔多和内马尔的文章下拉。我将鼠标悬停在篮球菜单上,我看到了勒布朗、杜兰特和科比。当我将鼠标悬停在足球菜单上时,我看到了 RG3、Wilson 和 Manning。我想要这样当我将鼠标悬停在足球菜单上时,我在下拉菜单中看不到任何文章。我想只为足球菜单获取它,但其他人在悬停时应该仍然有下拉菜单。

【问题讨论】:

  • 你的意思是,不是足球主菜单的下拉菜单,而是当你点击它时,它应该显示所有与足球相关的文章?
  • 不,我不想在鼠标悬停时看到下拉菜单。有没有办法隐藏它?我也不想取消发布这些文章。
  • 您应该将所有与梅西、罗纳尔多和内马尔相关的文章都更改为顶部菜单的类别,然后删除或取消发布这些子菜单(梅西、罗纳尔多和内马尔)。

标签: drop-down-menu joomla joomla3.0 joomla-extensions


【解决方案1】:

如果您使用mod_menu 模块,您必须创建一个模板覆盖templates/your_template/html/mod_menu/default.php 并在开头添加此代码:foreach ($list as $i => &$item) { ... }

$parent_id = 779;
if($item->id == $parent_id) { $item->deeper = null; }
$this_parent = $item->parent_id;
while ($this_parent != 1) {
    if($this_parent == $parent_id) continue 2;
    foreach ($list as $parent_search) {
        if($parent_search->id == $this_parent) {
            $this_parent = $parent_search->parent_id;
        }
    }
}

所以它会检查父母是否有指定的 id 并跳过所有的孩子。 您还可以使用 in_array() 扩展它以获得多个 id。

参考:in_array()

【讨论】:

    【解决方案2】:

    您可以在该特定菜单的模块管理器中执行此操作。 “开始级别”和“结束级别”有一个下拉菜单。只需将它们都设置为“1”,只会显示顶级项目。

    【讨论】:

      猜你喜欢
      • 2011-08-22
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 2013-12-09
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多