You are here

public function ConfigPagesRoutes::routes in Config Pages 8

Same name and namespace in other branches
  1. 8.3 src/Routing/ConfigPagesRoutes.php \Drupal\config_pages\Routing\ConfigPagesRoutes::routes()
  2. 8.2 src/Routing/ConfigPagesRoutes.php \Drupal\config_pages\Routing\ConfigPagesRoutes::routes()
1 string reference to 'ConfigPagesRoutes::routes'
config_pages.routing.yml in ./config_pages.routing.yml
config_pages.routing.yml

File

src/Routing/ConfigPagesRoutes.php, line 16

Class

ConfigPagesRoutes
Defines dynamic routes for Config Pages.

Namespace

Drupal\config_pages\Routing

Code

public function routes() {
  $routes = [];

  // Declare dinamic routes for config pages entities.
  $types = ConfigPagesType::loadMultiple();
  foreach ($types as $cp_type) {
    $bundle = $cp_type
      ->id();
    $label = $cp_type
      ->get('label');
    $menu = $cp_type
      ->get('menu');
    $path = isset($menu['path']) ? $menu['path'] : '';
    if (!$path) {
      continue;
    }
    $routes['config_pages.' . $bundle] = new Route($path, [
      '_controller' => '\\Drupal\\config_pages\\Controller\\ConfigPagesController::classInit',
      '_title' => "Edit config page {$label}",
      'config_pages_type' => $bundle,
    ], [
      '_permission' => 'edit config_pages entity',
    ], [
      '_admin_route' => TRUE,
    ]);
  }
  return $routes;
}