setup_blocks.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. // Paigutab menüüblokid D7 sarnaselt olivero regionidesse.
  3. // D7 metro: sidebar_first = user_login(-20), menu-liikmed(-19), menu-projektid(-18),
  4. // menu-haldus(-17), menu-raamatupidamine(-16), navigation(-15)
  5. // D11 olivero: sidebar region.
  6. use Drupal\block\Entity\Block;
  7. $sidebar = [
  8. ['metro_user_login', 'Sidebar: Login', -20, []],
  9. ['metro_menu_menu_liikmed', 'Liikmed', -19, ['/liikmed', '/liikmed/', '/liikmed/*']],
  10. ['metro_menu_menu_projektid', 'Projektid', -18, ['/projektid', '/projektid/', '/projektid/*']],
  11. ['metro_menu_menu_haldus', 'Haldus', -17, []],
  12. ['metro_menu_menu_raamatupidamine', 'Kanded', -16, ['/kanded', '/kanded/', '/kanded/*']],
  13. ];
  14. foreach ($sidebar as $item) {
  15. [$id, $label, $weight, $pages] = $item;
  16. $block = Block::load($id);
  17. if (!$block) {
  18. echo "skip (puudub): $id\n";
  19. continue;
  20. }
  21. $block->setRegion('sidebar');
  22. $block->setWeight($weight);
  23. $settings = $block->get('settings');
  24. $settings['label'] = $label;
  25. $settings['label_display'] = '0';
  26. $block->set('settings', $settings);
  27. if (!empty($pages)) {
  28. $block->setVisibilityConfig('request_path', [
  29. 'id' => 'request_path',
  30. 'negate' => FALSE,
  31. 'pages' => implode("\n", $pages),
  32. ]);
  33. } else {
  34. // Eemalda olemasolev request_path visibility.
  35. $visibility = $block->get('visibility');
  36. unset($visibility['request_path']);
  37. $block->set('visibility', $visibility);
  38. }
  39. $block->save();
  40. echo "paigutatud: $id -> sidebar (w=$weight, label=$label)\n";
  41. }
  42. // Peida üleliigsed metro_block_* (top/footer HTML blokid) — need tulevad
  43. // teema töö käigus õigetesse regionidesse.
  44. $hide = ['metro_block_1', 'metro_block_2', 'metro_block_3', 'metro_block_4',
  45. 'metro_block_5', 'metro_block_6', 'metro_block_7'];
  46. foreach ($hide as $id) {
  47. $block = Block::load($id);
  48. if ($block) {
  49. $block->disable();
  50. $block->save();
  51. echo "keelatud: $id (top/footer HTML blokk, ootab teemat)\n";
  52. }
  53. }
  54. echo "done\n";