Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. EntityModerationRouteProvider.php

function EntityModerationRouteProvider::getLatestVersionRoute

Gets the moderation-form 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 EntityModerationRouteProvider::getLatestVersionRoute()
EntityModerationRouteProvider::getRoutes in core/modules/content_moderation/src/Entity/Routing/EntityModerationRouteProvider.php
Provides routes for entities.

File

core/modules/content_moderation/src/Entity/Routing/EntityModerationRouteProvider.php, line 74

Class

EntityModerationRouteProvider
Dynamic route provider for the Content moderation module.

Namespace

Drupal\content_moderation\Entity\Routing

Code

protected function getLatestVersionRoute(EntityTypeInterface $entity_type) {
    if ($entity_type->hasLinkTemplate('latest-version') && $entity_type->hasViewBuilderClass()) {
        $entity_type_id = $entity_type->id();
        $route = new Route($entity_type->getLinkTemplate('latest-version'));
        $route->addDefaults([
            '_entity_view' => "{$entity_type_id}.full",
            '_title_callback' => '\\Drupal\\Core\\Entity\\Controller\\EntityController::title',
        ])
            ->setRequirement('_entity_access', "{$entity_type_id}.view")
            ->setRequirement('_content_moderation_latest_version', 'TRUE')
            ->setOption('_content_moderation_entity_type', $entity_type_id)
            ->setOption('parameters', [
            $entity_type_id => [
                'type' => 'entity:' . $entity_type_id,
                'load_latest_revision' => TRUE,
            ],
        ]);
        // 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;
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal