diff --git a/src/Plugin/facets/facet_source/SearchApiViews.php b/src/Plugin/facets/facet_source/SearchApiViews.php index cd2a8ad..2a21751 100644 --- a/src/Plugin/facets/facet_source/SearchApiViews.php +++ b/src/Plugin/facets/facet_source/SearchApiViews.php @@ -12,7 +12,7 @@ use Drupal\views\Views; * A facet source to support search api display plugins. * * @FacetsFacetSource( - * id = "search_api_views", + * id = "views_page", * deriver = "Drupal\facets\Plugin\facets\facet_source\SearchApiViewsDeriver" * ) */ @@ -91,7 +91,7 @@ class SearchApiViews extends SearchApiBaseFacetSource implements SearchApiFacetS */ public function fillFacetsWithResults($facets) { // Check if there are results in the static cache. - $results = $this->searchApiQueryHelper->getResults($this->pluginDefinition['search_api_plugin_id']); + $results = $this->searchApiQueryHelper->getResults($this->pluginId); // If our results are not there, execute the view to get the results. if ($results === NULL) { @@ -99,7 +99,7 @@ class SearchApiViews extends SearchApiBaseFacetSource implements SearchApiFacetS $view = Views::getView($this->pluginDefinition['view_id']); $view->setDisplay($this->pluginDefinition['view_display']); $view->execute(); - $results = $this->searchApiQueryHelper->getResults($this->pluginDefinition['search_api_plugin_id']); + $results = $this->searchApiQueryHelper->getResults($this->pluginId); } // Get the results from the cache. It is possible it still errored out. @@ -137,7 +137,8 @@ class SearchApiViews extends SearchApiBaseFacetSource implements SearchApiFacetS case 'page': $request = \Drupal::requestStack()->getMasterRequest(); if ($request->attributes->get('_controller') === 'Drupal\views\Routing\ViewPageController::handle') { - list(, $search_api_view_id, $search_api_view_display) = explode(':', $this->getPluginId()); + list(, $view) = explode(':', $this->getPluginId()); + list($search_api_view_id, $search_api_view_display) = explode('__', $view); if ($request->attributes->get('view_id') == $search_api_view_id && $request->attributes->get('display_id') == $search_api_view_display) { return TRUE; diff --git a/src/Plugin/facets/facet_source/SearchApiViewsDeriver.php b/src/Plugin/facets/facet_source/SearchApiViewsDeriver.php index fa307ac..ea3961b 100644 --- a/src/Plugin/facets/facet_source/SearchApiViewsDeriver.php +++ b/src/Plugin/facets/facet_source/SearchApiViewsDeriver.php @@ -25,7 +25,7 @@ class SearchApiViewsDeriver extends FacetSourceDeriverBase { $plugin_derivatives = array(); foreach ($search_api_displays->getDefinitions() as $display) { - $machine_name = $display['view_id'] . PluginBase::DERIVATIVE_SEPARATOR . $display['view_display']; + $machine_name = $display['view_id'] . '__' . $display['view_display']; $plugin_derivatives[$machine_name] = [ 'id' => $base_plugin_id . ':' . $machine_name, @@ -33,7 +33,6 @@ class SearchApiViewsDeriver extends FacetSourceDeriverBase { 'description' => $this->t('Provides a facet source.'), 'view_id' => $display['view_id'], 'view_display' => $display['view_display'], - 'search_api_plugin_id' => 'views_page:' . $display['view_id'] . '__' . $display['view_display'], ] + $base_plugin_definition; $arguments = [