| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
- // Paigutab menüüblokid D7 sarnaselt olivero regionidesse.
- // D7 metro: sidebar_first = user_login(-20), menu-liikmed(-19), menu-projektid(-18),
- // menu-haldus(-17), menu-raamatupidamine(-16), navigation(-15)
- // D11 olivero: sidebar region.
- use Drupal\block\Entity\Block;
- $sidebar = [
- ['metro_user_login', 'Sidebar: Login', -20, []],
- ['metro_menu_menu_liikmed', 'Liikmed', -19, ['/liikmed', '/liikmed/', '/liikmed/*']],
- ['metro_menu_menu_projektid', 'Projektid', -18, ['/projektid', '/projektid/', '/projektid/*']],
- ['metro_menu_menu_haldus', 'Haldus', -17, []],
- ['metro_menu_menu_raamatupidamine', 'Kanded', -16, ['/kanded', '/kanded/', '/kanded/*']],
- ];
- foreach ($sidebar as $item) {
- [$id, $label, $weight, $pages] = $item;
- $block = Block::load($id);
- if (!$block) {
- echo "skip (puudub): $id\n";
- continue;
- }
- $block->setRegion('sidebar');
- $block->setWeight($weight);
- $settings = $block->get('settings');
- $settings['label'] = $label;
- $settings['label_display'] = '0';
- $block->set('settings', $settings);
- if (!empty($pages)) {
- $block->setVisibilityConfig('request_path', [
- 'id' => 'request_path',
- 'negate' => FALSE,
- 'pages' => implode("\n", $pages),
- ]);
- } else {
- // Eemalda olemasolev request_path visibility.
- $visibility = $block->get('visibility');
- unset($visibility['request_path']);
- $block->set('visibility', $visibility);
- }
- $block->save();
- echo "paigutatud: $id -> sidebar (w=$weight, label=$label)\n";
- }
- // Peida üleliigsed metro_block_* (top/footer HTML blokid) — need tulevad
- // teema töö käigus õigetesse regionidesse.
- $hide = ['metro_block_1', 'metro_block_2', 'metro_block_3', 'metro_block_4',
- 'metro_block_5', 'metro_block_6', 'metro_block_7'];
- foreach ($hide as $id) {
- $block = Block::load($id);
- if ($block) {
- $block->disable();
- $block->save();
- echo "keelatud: $id (top/footer HTML blokk, ootab teemat)\n";
- }
- }
- echo "done\n";
|