Joomla:处理子菜单

Joomla: Dealing with Sub menus

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

您可以在模块管理器中针对该特定菜单执行此操作。 "Start Level" 和 "End Level" 有一个下拉列表。只需将它们都设置为“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()