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()
如何隐藏特定菜单的子菜单(下拉菜单)。例如我有 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()