warning: Invalid argument supplied for foreach() in /var/www/drupal/includes/menu.inc on line 1010.

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

Аватар пользователя ejAggi@drupal.org ejAggi@drupal.org 14 июля 2010 в 6:44

Здравствуйте. Подскажите как правильно убрать эту ошибку warning: Invalid argument supplied for foreach() in /var/www/drupal/includes/menu.inc on line 1010.

вот эта строка foreach ($node_links[$nid] as $mlid => $link) {
в функции

function menu_tree_check_access(&$tree, $node_links = array()) {

  if ($node_links) {
    // Use db_rewrite_sql to evaluate view access without loading each full node.
    $nids = array_keys($node_links);
    $placeholders = '%d'. str_repeat(', %d', count($nids) - 1);
    $result = db_query(db_rewrite_sql("SELECT n.nid FROM {node} n WHERE n.status = 1 AND n.nid IN (". $placeholders .")"), $nids);
    while ($node = db_fetch_array($result)) {
      $nid = $node['nid'];
      foreach ($node_links[$nid] as $mlid => $link) {
        $node_links[$nid][$mlid]['access'] = TRUE;
      }
    }
  }
  _menu_tree_check_access($tree);
  return;
}

Ошибку можно удалить если закомментровать, но ведь это не правильно.

 $nid = $node['nid'];
      foreach ($node_links[$nid] as $mlid => $link) {
        $node_links[$nid][$mlid]['access'] = TRUE;
      }

Комментарии

Аватар пользователя George88 George88 14 июля 2010 в 13:36

эта ошибка вызывается вследствие написанного вами кода. Рыть надо в файлах, которые писали вы. Вы там неправильно что-то передали

Аватар пользователя ejAggi@drupal.org ejAggi@drupal.org 15 июля 2010 в 4:28

Я не писал какого-то самостоятельного кода. Стандартный drupal 5, обновленный до 6, плюс несколько модулей. Ну равзве, что еще тема оформления есть своя и то не с нуля написанная, а переделанная с другой.

Аватар пользователя ihappy ihappy 16 июля 2010 в 11:40

"<a href="mailto:ejAggi@drupal.org">ejAggi@drupal.org</a>" wrote:
Проблема в стандартном модуле menu. Если его отключить, ошибка исчезает, как врочем и навигационное меню тоже.

анализ ошибок видно не твой конек))))
сказали же уже
"George88" wrote:
эта ошибка вызывается вследствие написанного вами кода. Рыть надо в файлах, которые писали вы. Вы там неправильно что-то передали

ищи проблему в модулях или в самописном модуле, снипете или тп и тд.