php 子菜单所有的父菜单,php – 如何在drupal 7中获取某个父级下面的所有菜单项?...

您需要的第一件事是您当前所在页面的mlid:

$q = variable_get('site_frontpage', 'node') == $_GET["q"] ? '' : $_GET["q"];

$current_menu_item = db_select('menu_links' , 'ml')

->condition('ml.link_path' , $q)

->fields('ml', array('mlid', 'plid'))

->execute()

->fetchAll();

现在如果这个菜单项的plid是0,那么我们知道它是一个顶级菜单项,如果它不是0那么我们需要得到父项.所以我们想得到的树的顶部mlid是:

$top_level_mlid = $current_menu_item->plid == 0 ? $current_menu_item->mlid : $current_menu_item->plid;

然后你需要加载完整的菜单:

$full_menu_items = menu_tree_all_data('main-menu');

现在循环所有菜单项,只需获得我们想要的位:

foreach($full_menu_items as $menu_item) {

if($menu_item['link']['mlid'] == $top_level_mlid) {

$links = $menu_item['below'];

break;

}

}

$links现在保存您所在菜单特定部分的所有链接.

并将该数组作为菜单输出到页面上:

echo theme('links__system_secondary_menu', array(

'links' => $links,

'attributes' => array(

'id' => 'secondary-menu',

'class' => array('links', 'clearfix')),

'heading' => array(

'text' => t('Secondary menu'),

'level' => 'h2',

'class' => array('element-invisible')

)

));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值