2011-08-13 2 views
0

Comment afficher l'élément de menu parent dans le modèle de noeud?Comment afficher l'élément de menu parent dans le modèle de noeud? Drupal 7

Je veux afficher l'option de menu parent avec la page en cours; mais je n'ai pas besoin des autres.

Edit: J'ENABLED module breadcrumb menu et ajouté le code suivant:

<?php    
       $menuParent = menu_get_active_trail(); 
       if (sizeof ($menuParent) >= 2 && $menuParent[2]) { 
        $menuParent = $menuParent[1]['link_title']; 
        print $menuParent; 
       } 
      ?> 

Il fonctionne bien, mais je reçois une erreur pour les pages qui ne sont pas la navigation 2ème niveau: Erreur: Notice: Undefined offset: 2 include()

Je pensais que mon état sizeof prendra soin du problème, mais ne fonctionne pas.

Répondre

0

vous vérifiez $menuParent[2] mais en utilisant $menuParent[1]. Peut-être vérifier $menuParent[1]:

if (sizeof ($menuParent) >= 2 && $menuParent[1]) { 

tableaux de PHP sont indexés zéro, fente 1 est la deuxième fente.

8

Utilisez les outils de tableau PHP pour vous le bon article dans le tableau:

<?php 
    $menuParent = menu_get_active_trail(); 
    //get rid of the last item in the array as it is the current page 
    $menuParentPop = array_pop($menuParent); 
    //Just grab the last item in the array now 
    $menuParent = end($menuParent); 
    //if it is not the home page and it is not an empty array 
    if(!empty($menuParent) && $menuParent['link_path'] != ''){ 
    print $menuParent['title']; 
    } else{ 
    print $title; 
    } 
?> 
+0

Si vous voulez obtenir la racine du chemin de menu, il devrait être dans 'menuParent $ [1]'. $ MenuParent [0] renvoie toujours la première page, alors assurez-vous de vérifier si $ menuParent [1] est réglé avant de tenter d'y accéder si sur la page

Questions connexes