protected LocalTaskManager::isRouteActive($current_route_name, $route_name, $route_parameters)
Determines whether the route of a certain local task is currently active.
string $current_route_name: The route name of the current main request.
string $route_name: The route name of the local task to determine the active status.
array $route_parameters:
bool Returns TRUE if the passed route_name and route_parameters is considered as the same as the one from the request, otherwise FALSE.
protected function isRouteActive($current_route_name, $route_name, $route_parameters) { // Flag the list element as active if this tab's route and parameters match // the current request's route and route variables. $active = $current_route_name == $route_name; if ($active) { // The request is injected, so we need to verify that we have the expected // _raw_variables attribute. $raw_variables_bag = $this->routeMatch->getRawParameters(); // If we don't have _raw_variables, we assume the attributes are still the // original values. $raw_variables = $raw_variables_bag ? $raw_variables_bag->all() : $this->routeMatch->getParameters()->all(); $active = array_intersect_assoc($route_parameters, $raw_variables) == $route_parameters; } return $active; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Menu!LocalTaskManager.php/function/LocalTaskManager::isRouteActive/8.1.x