Regression: We can't remove the URL-Parameter "limitstart"#4488
Regression: We can't remove the URL-Parameter "limitstart"#4488Bakual wants to merge 1 commit intojoomla:stagingfrom
Conversation
… value is 0). Closes joomla#3725 (reverted from commit 4c7cd15)
|
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. |
|
@test I have tested it with kunena, it works. Results without patch:Page 1: forum/recent You can't navigate back to first page. Results with patch:Page 1: forum/recent?limitstart=0 You can navigate on all pages |
|
@test it's all right for me with Kunena |
|
Setting to RTC as we have three tests. |
…en its value is 0). Fixes joomla#4488. Closes joomla#3725 (reverted from commit 4c7cd15)
|
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(). |
|
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. |
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.