comment obtenir tous les éléments de menu ci-dessous un certain parent dans drupal?
Je n'ai vraiment besoin de la mlid et le titre du texte pour le premier niveau en dessous d'un certain élément de menu. Voici ce que je fais en ce moment. (Cela fonctionne, mais je suspecte qu'il y a peut être un plus drupal-y.):
/**
* 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;
}
Est-il?
source d'informationauteur sprugman
Vous devez vous connecter pour publier un commentaire.
autant que je sache, il n'y en a pas (j'espère que je me trompe).
pour le moment, au lieu de creuser pour laide des touches, vous pouvez transformer votre fonction en plus abstraite et fonction d'aide par le simple ajout d'un foreach ($arbre). ensuite, vous pouvez utiliser votre propre logique et à la sortie de ce que vous voulez (mlid, dans ce cas). voici ma suggestion:
En fait, il est un moyen facile d'obtenir cette information en utilisant menu_build_tree():
$children
contient toutes les informations dont vous avez besoin.menu_build_tree()
contrôles d'accès ou la traduction des contraintes liées à trop de sorte que vous obtenez seulement ce que l'utilisateur devrait vraiment voir.Avez-vous regardé dans le Bloc de Menu module? Un peu plus de détails à propos de ce module (à partir de la page du projet):
Voici une fonction d'assistance pour retourner un ensemble de sous-arborescence d'un menu, en commençant à un mlid. Certains des autres postes de retourner uniquement les descendants directs de l'élément courant; ce sera le retour de TOUS les descendants.
Par défaut, il vous donne le sous-arbre en commençant par la page en cours, mais vous pouvez passer dans n'importe quel menu de l'arbre (retourné par menu_build_tree) et tout mlid.
J'utilise ceci :
Il suffit d'ajouter votre chemin et éventuellement le menu et il vous donnera de l'enfant.