未定义的索引:admin_menu_admin_menu_output_alter() 中的菜单(/var/www/si



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

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

  • 警告:为 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]);
    }
  }
}

福拉奇是行:612

此代码中的错误是什么?

提前谢谢。

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

$content['menu'] = array('value1', 'value2');
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]);
        }
    }
}

最新更新