1. Главная
  2. Форумы
  3. Техподдержка Drupal
  4. Решение проблем

Invalid argument supplied for foreach() в файле menu.inc [Решено]

Главные вкладки

Неожиданно появилась вот это:
«warning: Invalid argument supplied for foreach() in /home/vhosts/*****/httpdocs/includes/menu.inc on line 743.
»

вот где эта строка:

// Pull out just the menu items we are going to render so that we
// get an accurate count for the first/last classes.
foreach ($tree as $data) {
if (!$data['link']['hidden']) {
$items[] = $data;
}
}

Что делать? гугление не помогло:(

p.s
решила проблему! вспомнила, какой модуль недавно ставила. проблема была в dhtml меню. удалила его и все стало в порядке!это конечно не лучший вариант, но оно мне все равно не нужно, как выяснилось:)
спасибо всем за помощь!

Комментарии

Аватар пользователя graker graker 14 января 2010 в 17:21

А что делали? Модуль писали или модуль поставили? Видимо $tree - не массив, ищите, где забыли array().

У меня такое бывает, когда забываю при разработке модулей, что 'access arguments' в элементах меню hook_menu() должен быть массивом. Только там другие функции menu.inc ругаются.

Аватар пользователя -OC-@drupal.org -OC-@drupal.org 14 января 2010 в 18:00

верните все взад и смотрите пропала ошибка или нет.. потом таки проще отладчиком посмотреть откуда выплывает ошибка.
в вашем случае это неверный аргумент при вызове функции [ru-api=menu_tree_output] menu_tree_output [/ru-api]

Аватар пользователя mak-vardugin mak-vardugin 14 января 2010 в 18:32

"izabel" wrote:
коммента не поняла

вы в поисковый запрос вставили строчку ошибки с вашим адресом, если его удалить из запроса и искать в гугле без вашего адреса, то вылетает описание ошибки на английском и итальянском языке - на первых 3 страницах поиска.

Аватар пользователя izabel izabel 15 января 2010 в 13:56

решила проблему! вспомнила, какой модуль недавно ставила. проблема была в dhtml меню. удалила его и все стало в порядке!это конечно не лучший вариант, но оно мне все равно не нужно, как выяснилось:)

Аватар пользователя -OC-@drupal.org -OC-@drupal.org 15 января 2010 в 14:16

"izabel" wrote:
решила проблему! вспомнила, какой модуль недавно ставила. проблема была в dhtml меню. удалила его и все стало в порядке!это конечно не лучший вариант, но оно мне все равно не нужно, как выяснилось:)

на орге по этому вопросу был патчик кстати.. поиском по вашей ошибке он как раз и находится

Аватар пользователя moroz6600 moroz6600 7 марта 2011 в 14:55

Подобная проблема начала вылазить после того как в одном из меню создал несколько родительських пунктов, которые являлись ссылками на страницы с таксономией - taxonomy/term/**

Нашел решение здесь: http://drupal.org/node/483920:
в файле modules/dhtml_menu/dhtml_menu.module надо заменить строчку

return isset($tree[$key]) ? $tree[$key]['below'] : array();

на

return isset($tree[$key]['below']) && is_array($tree[$key]['below']) ? $tree[$key]['below'] : array();

Логотип drupal.ru

Содержимое сайта публикуется на условиях CreativeCommons Attribution-ShareAlike 3.0 или более поздней версии. Программные коды в тексте статей — на условиях GNU GPL v2 или более поздней версии.

Документация по совместной работе с репозиторием drupal.ru – https://docs.drupal.ru/code

Drupal – торговая марка Дриса Бёйтарта

12+

AltStyle によって変換されたページ (->オリジナル) /