| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- // Loob D7-st tulnud menüüstruktuuri D11-sse (menu_link_content entiteedid).
- // Path mapping: D7 path -> internal:/<path>. 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";
|