You are here

protected function PathPluginBase::overrideAppliesPathAndMethod in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/views/src/Plugin/views/display/PathPluginBase.php \Drupal\views\Plugin\views\display\PathPluginBase::overrideAppliesPathAndMethod()

Determines whether an override for the path and method should happen.

Parameters

string $view_path: The path of the view.

\Symfony\Component\Routing\Route $view_route: The route of the view.

\Symfony\Component\Routing\Route $route: The route itself.

Return value

bool TRUE, when the view should override the given route.

2 calls to PathPluginBase::overrideAppliesPathAndMethod()
PathPluginBase::overrideApplies in core/modules/views/src/Plugin/views/display/PathPluginBase.php
Determines whether the view overrides the given route.
RestExport::overrideApplies in core/modules/rest/src/Plugin/views/display/RestExport.php
Determines whether the view overrides the given route.

File

core/modules/views/src/Plugin/views/display/PathPluginBase.php, line 260

Class

PathPluginBase
The base display plugin for path/callbacks. This is used for pages and feeds.

Namespace

Drupal\views\Plugin\views\display

Code

protected function overrideAppliesPathAndMethod($view_path, Route $view_route, Route $route) {

  // Find all paths which match the path of the current display..
  $route_path = RouteCompiler::getPathWithoutDefaults($route);
  $route_path = RouteCompiler::getPatternOutline($route_path);

  // Ensure that we don't override a route which is already controlled by
  // views.
  return !$route
    ->hasDefault('view_id') && '/' . $view_path == $route_path && (!$route
    ->getMethods() || in_array('GET', $route
    ->getMethods()));
}