function DevelGenerateRoutes::routes

Same name in other branches
  1. 4.x devel_generate/src/Routing/DevelGenerateRoutes.php \Drupal\devel_generate\Routing\DevelGenerateRoutes::routes()

Define routes for all devel_generate plugins.

1 string reference to 'DevelGenerateRoutes::routes'
devel_generate.routing.yml in devel_generate/devel_generate.routing.yml
devel_generate/devel_generate.routing.yml

File

devel_generate/src/Routing/DevelGenerateRoutes.php, line 34

Class

DevelGenerateRoutes
Provides dynamic routes for devel_generate.

Namespace

Drupal\devel_generate\Routing

Code

public function routes() : array {
    $devel_generate_plugins = $this->develGenerateManager
        ->getDefinitions();
    $routes = [];
    foreach ($devel_generate_plugins as $id => $plugin) {
        $label = $plugin['label'];
        $type_url_str = str_replace('_', '-', $plugin['url']);
        $routes['devel_generate.' . $id] = new Route('admin/config/development/generate/' . $type_url_str, [
            '_form' => DevelGenerateForm::class,
            '_title' => 'Generate ' . $label,
            '_plugin_id' => $id,
        ], [
            '_permission' => $plugin['permission'],
        ]);
    }
    // Add the route for the 'Generate' admin group on the admin/config page.
    // This also provides the page for all devel_generate links.
    $routes['devel_generate.admin_config_generate'] = new Route('/admin/config/development/generate', [
        '_controller' => '\\Drupal\\system\\Controller\\SystemController::systemAdminMenuBlockPage',
        '_title' => 'Generate',
    ], [
        '_permission' => 'administer devel_generate',
    ]);
    return $routes;
}