wse-1.0.x-dev/modules/wse_menu/tests/modules/wse_menu_test/wse_menu_test.install

modules/wse_menu/tests/modules/wse_menu_test/wse_menu_test.install
<?php

/**
 * @file
 * Install, update and uninstall functions for the wse_menu_test module.
 */

use Drupal\block\Entity\Block;
use Drupal\menu_link_content\Entity\MenuLinkContent;
use Drupal\node\Entity\Node;

/**
 * Implements hook_install().
 */
function wse_menu_test_install() {
  /** @var \Drupal\system\MenuInterface $menu */
  $menu = \Drupal::entityTypeManager()
    ->getStorage('menu')
    ->create([
      'id' => 'wse-menu-test',
      'label' => 'Workspaces Test menu',
      'description' => 'Description text',
    ]);
  $menu->save();

  $nodes = [
    '1' => 'Page 1',
    '2' => 'Page 2',
    '3' => 'Page 3',
    '4' => 'Page 4',
    '5' => 'Page 5',
    '6' => 'Page 6',
  ];
  foreach ($nodes as $nid => $title) {
    $node = Node::create([
      'title' => $title,
      'status' => TRUE,
      'type' => 'page',
    ]);
    $node->save();
    $parent = !empty($menu_link) && $nid % 2 == 0 ? $menu_link->getPluginDefinition()['id'] : '';
    if ($nid > 4 && isset($menu_link)) {
      $parent = $menu_link->getPluginDefinition()['id'];
    }
    $menu_link = MenuLinkContent::create([
      'title' => $title . ' Link',
      'link' => ['uri' => 'internal:/node/' . $nid],
      'menu_name' => 'wse-menu-test',
      'expanded' => $nid !== 3,
      'parent' => $parent,
    ]);
    $menu_link->save();
  }

  $values = [
    'id' => 'olivero_wse_menu_test_1',
    'plugin' => 'system_menu_block:wse-menu-test',
    'region' => 'content',
    'theme' => 'olivero',
    'visibility' => [],
    'weight' => -50,
    'settings' => [
      'label' => 'Workspaces Menu Test Default Settings',
      'label_display' => TRUE,
      'provider' => 'system',
      // Start displaying links on level x.
      'level' => 1,
      // Display links up to level x.
      // 0 = unlimited.
      'depth' => 0,
      'expand_all_items' => TRUE,
    ],
  ];
  $block = Block::create($values);
  $block->save();

  $values = [
    'id' => 'olivero_wse_menu_test_2',
    'plugin' => 'system_menu_block:wse-menu-test',
    'region' => 'content',
    'theme' => 'olivero',
    'visibility' => [],
    'weight' => -40,
    'settings' => [
      'label' => 'Workspaces Menu Test Level 2 Depth 3',
      'label_display' => TRUE,
      'provider' => 'system',
      // Start displaying links on level x.
      'level' => 2,
      // Display links up to level x.
      // 0 = unlimited.
      'depth' => 3,
      'expand_all_items' => TRUE,
    ],
  ];
  $block = Block::create($values);
  $block->save();

  $values = [
    'id' => 'olivero_wse_menu_test_3',
    'plugin' => 'system_menu_block:wse-menu-test',
    'region' => 'content',
    'theme' => 'olivero',
    'visibility' => [],
    'weight' => -40,
    'settings' => [
      'label' => 'Workspaces Menu Test Not Expanding All Items',
      'label_display' => TRUE,
      'provider' => 'system',
      // Start displaying links on level x.
      'level' => 1,
      // Display links up to level x.
      // 0 = unlimited.
      'depth' => 0,
      'expand_all_items' => FALSE,
    ],
  ];
  $block = Block::create($values);
  $block->save();
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc