我们试图让 Drupal 允许我们根据与当前项目的关系将自定义 css 类放在菜单项上。通过这种方式,我们可以使用 CSS 隐藏和设置项目样式,因此菜单不会那么大。
我们希望能够区分: 第一级 - 总是显示不活跃的祖先 trail - 总是隐藏 Active_trail - 显示当前项目 - 显示兄弟姐妹 - 显示孩子 - 显示
规则是:
一般导航规则
导航时,您将始终看到“1 级”导航。
您将看到您所在页面的直接后代(面包屑)。您会看到您所在页面的兄弟姐妹。您会看到您所在页面的子项。注意:这不是手风琴导航。只有当您在页面上时,子级别才会可见。
级别 1 您只看到主页和导航的顶层。主页链接不显示。
2 级 当离开主页时,其链接将与“1 级”导航以及您所在页面的直接子级一起出现。
第 3 级 现在您可以看到所有第 1 级、所有第 2 级(兄弟)和您所在页面的子级(第 3 级)。这可以让您很好地了解在深入了解页面后通常会在网站上看到多少导航。
第 4 级 您一如既往地看到主页和第 1 级。您还可以看到您所在页面的祖先。因为您在第 3 级,所以您可以看到第 3 级的所有兄弟姐妹以及您所在页面的子级(第 4 级)。
第 5 级 您可以看到主页和第 1 级。您还可以看到您所在页面的祖先。因为您在第 4 级,所以您可以看到第 4 级的所有兄弟姐妹以及您所在页面的子级(第 5 级)。
更新:
我基本上能够完成我所需要的
function USZ_menu_link($variables) {
$element = $variables['element'];
$depth = sizeof(menu_get_active_trail()) -1;
static $item_id = 0;
if(!$element['#below'] && !$element['#active_trail'] && $element['#original_link']['depth'] != "1" && $element['#original_link']['depth'] < $depth){
$element['#attributes']['class'][] = 'hideme';
}
}