Skip to content
Snippets Groups Projects

Issue #3052574: Facets with AJAX not working in most of situations

1 file
+ 12
12
Compare changes
  • Side-by-side
  • Inline
@@ -143,7 +143,7 @@ class FacetBlockAjaxController extends ControllerBase {
// @todo We should not create an instance if we have already created one.
$block_instance = $this->blockManager->createInstance($block_id);
if ($block_instance) {
if ($block_instance && $block_instance instanceof FacetBlock) {
$block_view = $block_instance->build();
if ($block_view) {
// Replace content current ID selector.
@@ -159,6 +159,16 @@ class FacetBlockAjaxController extends ControllerBase {
}
}
}
elseif ($block_instance instanceof Broken) {
$block_entity = $this->storage->load($block_id);
if ($block_entity) {
$block_view = $this->entityTypeManager
->getViewBuilder('block')
->view($block_entity);
$block_view = (string) $this->renderer->renderPlain($block_view);
$response->addCommand(new ReplaceCommand($block_selector, $block_view));
}
}
}
// Update filter summary block.
@@ -170,7 +180,7 @@ class FacetBlockAjaxController extends ControllerBase {
$block_view = NULL;
// @todo We should not create an instance if we have already created one.
$block_instance = $this->blockManager->createInstance($summary_plugin_id);
if ($block_instance && $block_instance instanceof FacetBlock) {
if ($block_instance) {
$block_view = $block_instance->build();
if ($block_view) {
// Replace content facets summary plugin ID selector.
@@ -185,16 +195,6 @@ class FacetBlockAjaxController extends ControllerBase {
}
}
}
elseif ($block_instance instanceof Broken) {
$block_entity = $this->storage->load($block_id);
if ($block_entity) {
$block_view = $this->entityTypeManager
->getViewBuilder('block')
->view($block_entity);
$block_view = (string) $this->renderer->renderPlain($block_view);
$response->addCommand(new ReplaceCommand($block_selector, $block_view));
}
}
}
}
Loading