internal:/. node/add/emal-liige -> emal_liige. use Drupal\menu_link_content\Entity\MenuLinkContent; // menu_name => [ [title, uri, weight], ... ] $menus = [ 'main' => [ [' Avaleht', 'internal:/', -50], ['Liikmed', 'internal:/liikmed', -49], ['Projektid', 'internal:/projektid', -48], ['Kanded', 'internal:/node/13151', -47], ['Contact', 'internal:/contact', -46], ['Dokumendid', 'internal:/docs', -28], ['Author', 'internal:/node/4', 2], ['Suspendisse', 'internal:/node/3', 4], ], 'menu-liikmed' => [ ['Liikmete nimekiri (A-Z)', 'internal:/liikmed', -50], ['Liikmete nimekiri', 'internal:/liikmed/nimekiri', -49], ['Sünnipäevad', 'internal:/liikmed/synnipaevad', -48], ['Sünnipäevad nimekiri', 'internal:/synnipaevad', -47], ['Liikmemaksude saldod', 'internal:/kanded/liikmemaksud/saldod', -46], ['Liikmemaksude kanded', 'internal:/kanded/liikmemaksud', -45], ['CSV eksport (liikmed)', 'internal:/liikmed/eksport', -44], ['Lisa uus liige', 'internal:/node/add/emal_liige', -43], ['Impordi liikmed', 'internal:/import/emal_liikmete_import', -42], ], 'menu-projektid' => [ ['Projektide nimekiri', 'internal:/projektid', -50], ['Projektide saldod', 'internal:/kanded/projektid/saldod', -49], ['Projektide kanded', 'internal:/kanded/projektid', -48], ['Lisa uus projekt', 'internal:/node/add/projekt', -47], ], 'menu-raamatupidamine' => [ ['Liikmemaksude saldod', 'internal:/kanded/liikmemaksud/saldod', -50], ['Liikmemaksude kanded', 'internal:/kanded/liikmemaksud', -49], ['Projektide saldod', 'internal:/kanded/projektid/saldod', -48], ['Projektide kanded', 'internal:/kanded/projektid', -47], ['Tegevuskulude kanded', 'internal:/kanded/tegevuskulud', -46], ['Kõik kanded', 'internal:/kanded/koik-kanded', -45], ['Kõik kanded', 'internal:/kanded/koik', -45], ['Impordi panga väljavõte', 'internal:/import/panga_valjavotte_import', -44], ['Impordi liikmemaksud', 'internal:/import/liikmemaksude_import', -43], ['Lisa uus kanne', 'internal:/node/add/kanne', -42], ], ]; $created = 0; $skipped = 0; foreach ($menus as $menu_name => $links) { foreach ($links as $link) { [$title, $uri, $weight] = $link; // Kontrolli, kas samasugune link juba eksisteerib. $existing = \Drupal::entityTypeManager() ->getStorage('menu_link_content') ->loadByProperties([ 'menu_name' => $menu_name, 'title' => $title, ]); if (!empty($existing)) { echo "skip (olemas): $menu_name / $title\n"; $skipped++; continue; } $ml = MenuLinkContent::create([ 'title' => $title, 'menu_name' => $menu_name, 'link' => ['uri' => $uri], 'weight' => $weight, 'expanded' => FALSE, ]); $ml->save(); echo "loodud: $menu_name / $title -> $uri (w=$weight)\n"; $created++; } } echo "\nkokku: loodud=$created, vahelejäetud=$skipped\n";