Problem/Motivation

When a facet block is used to filter a view block, and such a facet block is rendered before said views block, pagination on the views block breaks: i.e. views block only shows the first page.

The problem is caused by the "page" parameter being removed in QueryString::buildUrls().

Proposed resolution

Restoring the current page parameter at the end of the QueryString::buildUrls() execution solves the problem.

Comments

ademarco created an issue. See original summary.

ademarco’s picture

borisson_’s picture

Status: Needs review » Reviewed & tested by the community

This sounds reasonable.

StryKaizer’s picture

Status: Reviewed & tested by the community » Needs work

Did some manual testing I can not reproduce the issue. prolly my fault though.
Can you please document how to reproduce this issue?

I created a search api views block, and a facet.
Pagination seems to work fine, but not sure how to ensure facets are rendered first though...

ademarco’s picture

The issue happens with the current setup:

Modules enabled:

- page_manager
- page_manager_ui (page_manager's submodule)
- layout_plugin
- block_page_layout (layout_plugin's sub-module)
- facets, search_api etc.

Facets are places on a page manager page using a custom layout_plugin's layout on the, let's say, left sidebar, while on the right sidebar the actual search api results view block is placed.

With this setup facets are rendered before the block causing the issue.

ademarco’s picture

Status: Needs work » Needs review
StryKaizer’s picture

Status: Needs review » Reviewed & tested by the community

Thanks for the detailed documentation.
I managed to reproduce the issue and patch fixes it.

Patch looks good, RTBC-ing

  • StryKaizer committed 5cf4da1 on 8.x-1.x authored by ademarco
    Issue #2726455 by ademarco, StryKaizer: QueryString URL processor breaks...
StryKaizer’s picture

Status: Reviewed & tested by the community » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.