Hello everyone,
I found this issue some time ago, but I can see that in version 4.3.0 it is still not fixed. Error occurs in both Joomla 2.5 and 3.0 and it is related to various extensions, e.g. com_weblinks and com_content when their ARTIO plug-ins are
disabled. In other words - if you don't have JoomSEF plugin for your own extension - you have serious problem.
Details:
1. Enable SEF URLs in both Joomla! and ARTIO JoomSEF
2. In JoomSEF's back-end > Extensions Management set extension's handler to 'Component's router' or 'Default Joomla Router'
3. Open component's view that contains pagination and navigate to any other than the first page, e.g. Page 2. The URL should look like this /items.html?start=8
4. Try to go back to the first page by clicking either "Start" or "1" link in the pagination - you will see that now the URL is /items.html?start=8&limitstart=0 and as a result we are still at the same page that we were before.
The thing is that if you have both start (SEF) and limitstart (non-SEF) parameters, limistart should have the priority (in Joomla core SEF it has), but JoomSEF somehow overrides it's value with start parameter's value.
Temporary fix:
1. Open component's* router: /components/com_componentname/router.php
2. Find ComponentNameBuildRoute(&$query) function and in the beginning apply following code:
// JoomSEF workaround
if (isset($query['start']) && isset($query['limitstart'])) {
if ((int)$query['limitstart'] != (int)$query['start'] && (int)$query['start'] > 0) {
// 'limitstart' has higher priority than 'start' parameter
$query['start'] = $query['limitstart'];
unset($query['limitstart']);
}
}
// JoomSEF workaround - end
*) Componentname has to be of course changed with the name of the component in which you apply the patch :)
Despite the fact that I'm able to prepare my own component to be resitant to JoomSEF behaviour it would great if ARTIO team fixed the problem also on their side.