Знаете, что меня всегда бесило в getPage? Его алгоритм вывода номеров страниц. Я привык на большинстве сайтов, что мне показывают определенное количество номеров, например, десять, и это количество не меняется. Соответственно кнопки «Далее» и «Назад» находятся в одинаковых местах. У getPage же пагинация «скачет» в зависимости от того, на какой странице мы сейчас находимся:
« Назад 1 2 3 4 5 Далее »
« Назад 1 2 3 4 5 6 Далее »
« Назад 1 2 3 4 5 6 7 Далее »
« Назад 1 2 3 4 5 6 7 8 Далее »
« Назад 1 2 3 4 5 6 7 8 9 Далее »
Почему количество отображаемых номеров страниц изменяется? Это нелогично и непривычно большинству пользователей.
Я немного откорректировал код getPage и теперь он работает так:
« Назад 1 2 3 4 5 Далее »
« Назад 1 2 3 4 5 Далее »
« Назад 1 2 3 4 5 Далее »
« Назад 2 3 4 5 6 Далее »
« Назад 3 4 5 6 7 Далее »
Согласитесь, немного логичнее =)
Кому интересно, вот изменения, которые я внес. Скачать новый вариант getPage пока можно только по ссылке: getPage 1.2.4.
Скачанный пакет загружаем в папку /core/packages/ и в управлении пакетами нажимаем «Искать локально». Можно ставить прямо поверх старого getPage (если вы не изменяли в самом сниппете параметры по умолчанию).
Модификация getPage для приведения пагинации к общепризнанным стандартам
01 августа 2013, 02:39
А ты никогда не задумывался о реализации обратной пагинации, преимущество которой:
1. Каждую страницу можно спокойно индексировать в поисковиках, так как её адрес не меняется с добавлением контента.
2. Более удобное пользование посетителями, так как при большом количестве страниц можно чётко знать на какой странице ты остановился и это не изменится при появлении новых страниц.
Меня интересует, насколько сложно сделать такой реверс, например в pdoPage.
Но алгоритм отображения номеров страниц придется переписывать заново. Так что не думаю, что получится просто модифицировать pdoPage…