You are here

菜单标签ul上添加 level 层级属性

cycle_zb 的头像
Submitted by cycle_zb on 星期一, 2013-02-25 09:44

老葛,问下用block menu输出的main menu,我想在ul标签上,添加层级属性,就像在li标签添加level-1,level-2这样的,怎么加?

我知道<ul>的控制函数是theme_menu_tree(),但不知道怎么加层级。

论坛:

Drupal版本:

g089h515r806 的头像

如果仅仅是用来控制CSS的话,不需要添加层级的。

ul li就是第一级的

ul li ul

ul li ul li 就是第2级的,

依次类推。

Theme函数里面可以加,但是比较麻烦,如果只有两级的话,还可以。3级的可能就更麻烦了,或者不可以了。

 

g089h515r806 的头像

(1),首先,在菜单所在的Drupal区块里面,加上ul标签,这是最外面的,也是第一级的。

(2),通过菜单的主题函数覆写,去掉最外面的ul标签。

(3),对于输出的li标签,如果它有子菜单项的话,输出<li><ul>,这里的ul就是第二级的了。

 

我们在实际项目中,就是这样解决的。就是把第一级ul放到区块里面,把第二级的下放。

 

cycle_zb 的头像

可能我没说明白吧,我是想这样<ul class="level-2">

没有这个呢,当然也能做出想要的效果,不过要多写几个标签,我是想着,能不能在ul上也加上层级的class,这样写的时候,比较舒服,不用一层层的ul li ul li,先这样吧