Вывод меню в нужном месте drupal 7

Сообщение об ошибке

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls в функции menu_set_active_trail() (строка 2405 в файле /home/ih139182/public_html/includes/menu.inc).

Довольно часто нужно вывести меню, созданное средствами drupal в не стандартном месте шаблона сайта.

Блок с меню создан да вот выводить его можно в стандартных частях, определённых темой.

Читатель конечно же может сделать вывод, отформатировав стиль блока при помощи абсолютного позиционирования, но это как говориться не тру! Да и далеко не всегда удобно. Тем более, что и не всегда выполнимо.

Итак. Решение одной строкой.

Имеем меню с машинным именем menu-header-menu.

          <?php print render(menu_tree('menu-header-menu')); ?>

Такой вывод будет сопровождаться ворнингом, что не есть удобно. Всё дело в том, что так делать нельзя, хотя и работает.

Strict warning: Only variables should be passed by reference in include

Согласно православию вывод будет занимать 2 строки:

        $menu_header_menu = menu_tree('menu-header-menu');
        print render($menu_header_menu); 

Так предупреждения не будет.

Как видите достаточно вставить 2 строки в нужном месте вашего шаблона и всё ОК.

Просмотров:   6120