class RouteProcessor in Config Entity Revisions 8.2
Processes the outbound route to add revision IDs to parameters.
Hierarchy
- class \Drupal\config_entity_revisions\Routing\RouteProcessor implements OutboundRouteProcessorInterface
Expanded class hierarchy of RouteProcessor
File
- src/
Routing/ RouteProcessor.php, line 15
Namespace
Drupal\config_entity_revisions\RoutingView source
class RouteProcessor implements OutboundRouteProcessorInterface {
/**
* {@inheritdoc}
*/
public function processOutbound($route_name, Route $route, array &$parameters, BubbleableMetadata $bubbleable_metadata = NULL) {
$route_params = $route
->getOption('parameters');
if (empty($route_params['revision_id']) || !$route_params['revision_id']) {
return;
}
if (!empty($parameters['revision_id'])) {
return;
}
$revision_id = \Drupal::routeMatch()
->getParameter('revision_id');
if (empty($revision_id)) {
// Find the revisioned entity.
foreach (\Drupal::routeMatch()
->getParameters() as $param) {
if ($param instanceof ConfigEntityRevisionsConfigEntityContainerInterface) {
$revision_id = $param
->revisionedEntity()->loadedRevisionId;
break;
}
}
}
$parameters['revision_id'] = $revision_id;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
RouteProcessor:: |
public | function |
Processes the outbound route. Overrides OutboundRouteProcessorInterface:: |