'Holds definitions for top-level custom menus (for example, Main menu).', 'fields' => array( 'menu_name' => array( 'type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => '', 'description' => 'Primary Key: Unique key for menu. This is used as a block delta so length is 32.', ), 'title' => array( 'type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '', 'description' => 'Menu title; displayed at top of block.', 'translatable' => TRUE, ), 'description' => array( 'type' => 'text', 'not null' => FALSE, 'description' => 'Menu description.', 'translatable' => TRUE, ), ), 'primary key' => array('menu_name'), ); return $schema; } /** * Implements hook_install(). */ function menu_install() { $system_menus = menu_list_system_menus(); $t = get_t(); $descriptions = array( 'navigation' => $t('The Navigation menu contains links intended for site visitors. Links are added to the Navigation menu automatically by some modules.'), 'user-menu' => $t("The User menu contains links related to the user's account, as well as the 'Log out' link."), 'management' => $t('The Management menu contains links for administrative tasks.'), 'main-menu' => $t('The Main menu is used on many sites to show the major sections of the site, often in a top navigation bar.'), ); foreach ($system_menus as $menu_name => $title) { $menu = array( 'menu_name' => $menu_name, 'title' => $t($title), 'description' => $descriptions[$menu_name], ); menu_save($menu); } } /** * Implements hook_uninstall(). */ function menu_uninstall() { menu_rebuild(); }