function RouteSubscriber::getEntityTypeDefinitionRoute

Same name and namespace in other branches
  1. 5.x src/Routing/RouteSubscriber.php \Drupal\devel\Routing\RouteSubscriber::getEntityTypeDefinitionRoute()

Gets the entity type definition route.

Parameters

\Drupal\Core\Entity\EntityTypeInterface $entity_type: The entity type.

Return value

\Symfony\Component\Routing\Route|null The generated route, if available.

1 call to RouteSubscriber::getEntityTypeDefinitionRoute()
RouteSubscriber::alterRoutes in src/Routing/RouteSubscriber.php
Alters existing routes for a specific collection.

File

src/Routing/RouteSubscriber.php, line 136

Class

RouteSubscriber
Subscriber for Devel routes.

Namespace

Drupal\devel\Routing

Code

protected function getEntityTypeDefinitionRoute(EntityTypeInterface $entity_type) {
  if ($devel_definition = $entity_type->getLinkTemplate('devel-definition')) {
    $route = (new Route($devel_definition))->addDefaults([
      '_controller' => '\\Drupal\\devel\\Controller\\EntityDebugController::entityTypeDefinition',
      '_title' => 'Entity type definition',
    ])
      ->addRequirements([
      '_permission' => 'access devel information',
    ])
      ->setOption('_admin_route', TRUE)
      ->setOption('_devel_entity_type_id', $entity_type->id());
    $link_template = $entity_type->getLinkTemplate('edit-form') ? 'edit-form' : 'canonical';
    if ($parameters = $this->getRouteParameters($entity_type, $link_template)) {
      $route->setOption('parameters', $parameters);
    }
    return $route;
  }
}