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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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.