? Success

User tests: Successful: Unsuccessful:

avatar Bakual
Bakual
8 Oct 2014

Issue

In some extensions the user can't get back to the first page once he navigated to a later page.
To my knowledge this doesn't happen in core extensions but other extensions have this reported.
It only happens when SEF URLs are enabled.

Explanation

If an extension uses JModelList::populateState(), the start of the pagination (limitstart) is stored in the session (userstate). That means the value is only changed if the limitstart parameter is present in the request. Due to a recent change (#3725) the limitstart was removed from the request when it was equal to zero. While this works for some extensions that don't use the userstates (like the core extensions), it broke pagination for the extensions which use those session states.

Solution

This PR just reverts the faulty PR and restores the limitstart parameter.

Testing

As this doesn't happen with core extensions, you need to use a 3rd party extension which is affected. You can use my own "SermonSpeaker" to do that. Either install it using the webinstaller or get it from http://www.sermonspeaker.net/download/sermonspeaker-component/sermonspeaker-component-5-2-3.html.
Create multiple sermons (batch copy the existing example sermon) and a menu item and test the pagination.
Make sure you have SEF URLs turned on as non-SEF URLs are not affected.

Votes

# of Users Experiencing Issue
1/1
Average Importance Score
3.00

avatar Bakual Bakual - open - 8 Oct 2014
avatar jissues-bot jissues-bot - change - 8 Oct 2014
Labels Added: ?
avatar Bakual Bakual - change - 8 Oct 2014
Category SEF
avatar garkell
garkell - comment - 9 Oct 2014

Tested on a fresh install of 3.3.6 with limit set to 5. 10 articles - tested for features listing and category listings with pagination and all worked fine. Installed my component with parent::populateState in the model and pagination worked fine as well. Thanks again. Cheers.

This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/4488.

avatar garkell garkell - test_item - 9 Oct 2014 - Tested successfully
avatar betweenbrain
betweenbrain - comment - 9 Oct 2014

@test

Was able to reproduce the issue with @Bakual's extension and the patch does resolve the issue of not being able to navigate to the first page.

avatar Bakual Bakual - alter_testresult - 9 Oct 2014 - betweenbrain: Tested successfully
avatar 810
810 - comment - 9 Oct 2014

@test I have tested it with kunena, it works.

Results without patch:

Page 1: forum/recent
Page 2: forum/recent?start=5

You can't navigate back to first page.

Results with patch:

Page 1: forum/recent?limitstart=0
Page 2: forum/recent?start=5

You can navigate on all pages

avatar Lavsteph
Lavsteph - comment - 10 Oct 2014

@test it's all right for me with Kunena

This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/4488.

avatar Lavsteph Lavsteph - test_item - 10 Oct 2014 - Tested successfully
avatar Bakual Bakual - change - 10 Oct 2014
Status Pending Ready to Commit
avatar Bakual Bakual - change - 10 Oct 2014
Labels Added: ?
avatar Bakual
Bakual - comment - 10 Oct 2014

Setting to RTC as we have three tests.

avatar Bakual Bakual - close - 10 Oct 2014
avatar zero-24 zero-24 - close - 10 Oct 2014
avatar Bakual Bakual - change - 10 Oct 2014
Status Ready to Commit Closed
Closed_Date 0000-00-00 00:00:00 2014-10-10 15:10:11
avatar Hackwar
Hackwar - comment - 8 Dec 2014

This "fix" means, that now the first page of every list has 2 URLs. "whatever" and "whatever?limitstart=0". At the same time, limitstart was always renamed to start in our URLs. please revert this. It is not the solution to the problem. The problem is in the code in JModelList::populateState().

avatar Bakual
Bakual - comment - 8 Dec 2014

This "fix" is a revert of a regression. It reinstates what was there before the original PR (#3725) broke it. I'm not going to revert this.

avatar zero-24 zero-24 - change - 14 Oct 2015
Labels Removed: ?

Add a Comment

Login with GitHub to post a comment