Dodawanie menu i pozycji menu z poziomu PHP

Dodawanie menu i pozycji menu z poziomu PHP

Używając do aktualizacji aplikacji hook_update_N czasem pojawia się potrzeba dodania nowego menu lub nowej pozycji do menu. Znając podstawy PHP zadanie to jest bardzo proste, poniżej można zobaczyć przykładowe kody PHP.

Dodawanie pozycji do menu można także robić używając modułu Features, jednak przy bardziej złożonych strukturach menu mogą pojawiać się problemy z poprawnym odtworzeniem hierarchii.

Dodawanie nowego menu:

$menu = array( 'menu_name' => 'header-top-menu', 'title' => 'Header top menu', 'description' => 'Header top menu', ); menu_save($menu);

 

Dodawanie pozycji do menu:

$form_state = array( 'values' => array( 'menu_name' => 'header-top-menu', 'weight' => '-48', 'link_title' => 'Front page', 'link_path' => '', 'module' => 'menu', 'mlid' => 0, //'plid' => 123, // Optional - mlid of the parent. ), ); // Validate and transform the item, so it conforms with Drupal standards. menu_edit_item_validate(array(), $form_state); // Save the item to database. menu_link_save($form_state['values']);