Как отобразить родительский пункт меню в шаблоне узла? Drupal 7 - PullRequest
0 голосов
/ 14 августа 2011

Как отобразить родительский пункт меню в шаблоне узла?

Я хочу отобразить родительский пункт меню вместе с текущей страницей; но мне другие не нужны.

Редактировать: я включил модуль меню хлебных крошек и добавил следующий код:

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

Работает нормально, но я получаю сообщение об ошибке на страницах, где нет навигации 2-го уровня: Ошибка: Примечание: неопределенное смещение: 2 в include ()

Я думал, что мое состояние sizeof позаботится о проблеме, но не работает.

Ответы [ 2 ]

8 голосов
/ 27 июня 2012

Используйте инструменты массива PHP, чтобы получить нужный элемент в массиве:

<?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 голосов
/ 27 октября 2011

Вы проверяете $menuParent[2], но затем используете $menuParent[1]. Может быть, проверить $menuParent[1]:

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

Массивы PHP имеют нулевую индексацию, поэтому слот 1 является вторым слотом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...