function 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 178

Class

RouteSubscriber
Subscriber for Devel routes.

Namespace

Drupal\devel\Routing

Code

protected function getEntityTypeDefinitionRoute(EntityTypeInterface $entity_type) : ?Route {
  if ($devel_definition = $entity_type->getLinkTemplate('devel-definition')) {
    $route = (new Route($devel_definition))->addDefaults([
      '_controller' => EntityDebugController::class . '::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;
  }
  return NULL;
}