examples-3.x-dev/modules/menu_example/src/Routing/MenuExampleDynamicRoutes.php

modules/menu_example/src/Routing/MenuExampleDynamicRoutes.php
<?php

namespace Drupal\menu_example\Routing;

use Symfony\Component\Routing\Route;

/**
 * Defines dynamic routes for our tab menu items.
 *
 * These routes support the links created in menu_example.links.task.yml.
 *
 * @see menu_example.links.task.yml
 * @see https://www.drupal.org/docs/8/api/routing-system/providing-dynamic-routes
 */
class MenuExampleDynamicRoutes {

  /**
   * Returns an array of route objects.
   *
   * @return \Symfony\Component\Routing\Route[]
   *   An array of route objects.
   */
  public function routes() {
    $routes = [];

    $tabs = [
      'tabs' => 'Default primary tab',
      'tabs/second' => 'Second',
      'tabs/third' => 'Third',
      'tabs/fourth' => 'Fourth',
      'tabs/default/second' => 'Second',
      'tabs/default/third' => 'Third',
    ];

    foreach ($tabs as $path => $title) {
      $machine_name = 'examples.menu_example.' . str_replace('/', '_', $path);
      $routes[$machine_name] = new Route(
        // Path to attach this route to:
        '/examples/menu-example/' . $path,
        // Route defaults:
        [
          '_controller' => '\Drupal\menu_example\Controller\MenuExampleController::tabsPage',
          '_title' => $title,
          'path' => $path,
          'title' => $title,
        ],
        // Route requirements:
        [
          '_access' => 'TRUE',
        ]
      );
    }

    return $routes;
  }

}

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

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