gpt4 book ai didi

drupal - 如何在drupal中获取某个父级下方的所有菜单项?

转载 作者:行者123 更新时间:2023-12-03 20:06:47 26 4
gpt4 key购买 nike

我真的只需要某个菜单项下第一级的 mlid 和标题文本。这就是我目前正在做的事情。 (它有效,但我怀疑可能有更像 drupal 的方式。):

/**
* Get all the children menu items below 'Style Guide' and put them in this format:
* $menu_items[mlid] = 'menu-title'
* @return array
*/
function mymod_get_menu_items() {
$tree = menu_tree_all_data('primary-links');
$branches = $tree['49952 Parent Item 579']['below']; // had to dig for that ugly key
$menu_items = array();
foreach ($branches as $menu_item) {
$menu_items[$menu_item['link']['mlid']] = $menu_item['link']['title'];
}
return $menu_items;
}

在那儿?

最佳答案

实际上,使用 menu_build_tree() 可以轻松获取该信息。 :

// Set $path to the internal Drupal path of the parent or
// to NULL for the current path
$path = 'node/123';
$parent = menu_link_get_preferred($path);
$parameters = array(
'active_trail' => array($parent['plid']),
'only_active_trail' => FALSE,
'min_depth' => $parent['depth']+1,
'max_depth' => $parent['depth']+1,
'conditions' => array('plid' => $parent['mlid']),
);

$children = menu_build_tree($parent['menu_name'], $parameters);
$children包含您需要的所有信息。 menu_build_tree()检查访问或翻译相关的限制,所以你只能得到用户真正应该看到的。

关于drupal - 如何在drupal中获取某个父级下方的所有菜单项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2716787/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com