我们正在尝试让Drupal允许我们根据与当前项的关系将自定义css类放在菜单项上。这样我们可以使用css隐藏和设置项目,因此菜单不是那么大。
我们希望能够区分: 第一级 - 总是显示 没有主动追踪的祖先 - 总是隐藏起来 Active_trail - 显示 当前项目 - 显示 兄弟姐妹 - 节目 儿童 - 表演
规则是:
常规导航规则
导航时,您将始终看到“1级”导航
您将看到您所在页面的直接后代(breadcrumb)。
您会看到您所在页面的兄弟姐妹。
您会看到您所在页面的孩子。
注意:这不是手风琴导航。只有当您在页面上时才能看到子级别。
等级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';
}
}
答案 0 :(得分:0)
无法理解你所需要的一切,但我可以推荐http://drupal.org/project/menu_position,http://drupal.org/project/context和http://drupal.org/project/menu_block。
此模块将通过菜单帮助您完成大部分任务。上下文模块可以向菜单项添加类,菜单块扩展菜单块,具有自定义设置(级别,包括树的paren项,也有上下文集成),菜单位置有助于为不同条件创建规则并提供API以使用菜单你的自定义模块。
这只是一个意见,我认为知道这些模块可以做到有所帮助。