diff --git a/src/Widget/WidgetPluginBase.php b/src/Widget/WidgetPluginBase.php index 4f724a1..4f2e1de 100644 --- a/src/Widget/WidgetPluginBase.php +++ b/src/Widget/WidgetPluginBase.php @@ -55,18 +55,20 @@ abstract class WidgetPluginBase extends PluginBase implements WidgetPluginInterf return $this->buildResultItem($result); } else { - $url = $result->getUrl(); - $options = $url->getOptions(); - $request = \Drupal::request(); - $pathinfo = $request->getPathInfo(); - $url_object = \Drupal::service('path.validator') - ->getUrlIfValid($pathinfo); - $route_params = $url_object->getRouteParameters(); - $route_name = $url_object->getRouteName(); - // Additional check needed if facets are tied up with a block on the page. + // Additional check if facets are tied up with a block on the page. if ($result->getUrl()->getRouteName() === 'facets.block.ajax') { - $result->setUrl(new Url($route_name, $route_params, $options)); + $request = \Drupal::request(); + $url_object = \Drupal::service('path.validator') + ->getUrlIfValid($request->getPathInfo()); + if ($url_object) { + $url = $result->getUrl(); + $options = $url->getOptions(); + $route_params = $url_object->getRouteParameters(); + $route_name = $url_object->getRouteName(); + $result->setUrl(new Url($route_name, $route_params, $options)); + } } + return $this->buildListItems($facet, $result); } }, $facet->getResults());