public function RouteProcessor::processOutbound in Config Entity Revisions 8.2
Processes the outbound route.
Parameters
string $route_name: The route name.
\Symfony\Component\Routing\Route $route: The outbound route to process.
array $parameters: An array of parameters to be passed to the route compiler. Passed by reference.
\Drupal\Core\Render\BubbleableMetadata $bubbleable_metadata: (optional) Object to collect route processors' bubbleable metadata.
Return value
The processed path.
Overrides OutboundRouteProcessorInterface::processOutbound
File
- src/
Routing/ RouteProcessor.php, line 20
Class
- RouteProcessor
- Processes the outbound route to add revision IDs to parameters.
Namespace
Drupal\config_entity_revisions\RoutingCode
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;
}