未定义索引:admin_menu_admin_menu_output_alter()中的菜单(/var/www/sites/all/modules/admin_menu/admin_menu.module第612行)

时间:2014-02-15 11:20:14

标签: php drupal drupal-modules

这是在管理区域中发现的错误:

  • 注意:未定义的索引:admin_menu_admin_menu_output_alter()中的菜单 (第612行) /var/www/sites/all/modules/admin_menu/admin_menu.module)。

  • 警告:为for中的foreach()提供的参数无效 admin_menu_admin_menu_output_alter()(第612行) /var/www/sites/all/modules/admin_menu/admin_menu.module)。

代码是:

/**
 * Implements hook_admin_menu_output_alter().
 */
function admin_menu_admin_menu_output_alter(&$content) {
  foreach ($content['menu'] as $key => $link) {
    // Move local tasks on 'admin' into icon menu.
    if ($key == 'admin/tasks' || $key == 'admin/index') {
      $content['icon']['icon'][$key] = $link;
      unset($content['menu'][$key]);
    }
  }
}

Foreach是第612行

此代码中的错误是什么?

提前致谢。

2 个答案:

答案 0 :(得分:2)

如错误所示,$content['menu']似乎未定义,但它应该是一个数组,因为您尝试在其上使用foreach。因此,在使用它之前,您需要执行类似的操作:

$content['menu'] = array('value1', 'value2');

答案 1 :(得分:1)

function admin_menu_admin_menu_output_alter(&$content) {

    // Check if index menu is defined in $content and is array
    if( !isset($content['menu']) || !is_array($content['menu']) ) 
        return;

    foreach ($content['menu'] as $key => $link) {
        // Move local tasks on 'admin' into icon menu.
        if ($key == 'admin/tasks' || $key == 'admin/index') {
              $content['icon']['icon'][$key] = $link;
              unset($content['menu'][$key]);
        }
    }
}