protected DefaultHtmlRouteProvider::getCanonicalRoute(EntityTypeInterface $entity_type)
Gets the canonical route.
Parameters
\Drupal\Core\Entity\EntityTypeInterface $entity_type: The entity type.
Return value
\Symfony\Component\Routing\Route|null The generated route, if available.
File
- core/lib/Drupal/Core/Entity/Routing/DefaultHtmlRouteProvider.php, line 214
 
Class
- DefaultHtmlRouteProvider
 - Provides HTML routes for entities.
 
Namespace
Drupal\Core\Entity\Routing
Code
protected function getCanonicalRoute(EntityTypeInterface $entity_type) {
  if ($entity_type->hasLinkTemplate('canonical') && $entity_type->hasViewBuilderClass()) {
    $entity_type_id = $entity_type->id();
    $route = new Route($entity_type->getLinkTemplate('canonical'));
    $route
    ->addDefaults([
      '_entity_view' => "{$entity_type_id}.full",
      '_title_callback' => '\Drupal\Core\Entity\Controller\EntityController::title',
    ])
      ->setRequirement('_entity_access', "{$entity_type_id}.view")
      ->setOption('parameters', [
        $entity_type_id => ['type' => 'entity:' . $entity_type_id],
      ]);
    // Entity types with serial IDs can specify this in their route
    // requirements, improving the matching process.
    if ($this->getEntityTypeIdKeyType($entity_type) === 'integer') {
      $route->setRequirement($entity_type_id, '\d+');
    }
    return $route;
  }
}
Please login to continue.