Пагинация и helper pagination в UserCMS
С постраничной навигацией все аналогично как у хлебных крошек.
С версии 2.6.0 есть правила, чтобы пагинация выглядела одинаково и имела одинаковую структуру и верстку.
Данные правила появились, поскольку до версии 2.6.0 программисты реализовывали пагинацию по разному.
Допускается, что текущая страница в пагинации является ссылкой (сам на себя). Но в идеале текущая страница не должна являться ссылкой.
В идеале выглядеть должно так:
А html код такой:
Исключительно под листингом элементов.
Не над ним, не сбоку, не сверху! А сразу под ним.
Понятное дело, что дизайнер хочет сбоку то тут никуда не денешься, но если нет прямых указаний или вы делаете модуль для публичного использования - только под листингом (только под новостями, фото и пр), Дублирование вверхку допускается, но только в исключительных случаях.
Первой и последней ссылкой могут быть Предыдущая и следующая. а) их можно опустить и вообще не указывать.
б) им нельзя переименовывать в Назад, вперед, далее и пр. никакие стрелочки, спецсимволы и прочее - не допускается.
то есть 10 новостей, 10 товаров - по умолчанию. Но если элементы маленькие, то можно 20-30. Например как с фотографиями, но более 100шт не допускается.
Например, для второй страницы к урлу надо добавить: /page=2 (так неверно: ?page=2)
Пример:
...
Пред. урок След. урок
Данные правила появились, поскольку до версии 2.6.0 программисты реализовывали пагинацию по разному.
Правила
1. Верстка пагинации
HTML код должен строго соотвествовать фреймворку BootStrap 4. На август 2018г пример кода тут: https://getbootstrap.com/docs/4.1/components/pagination/Допускается, что текущая страница в пагинации является ссылкой (сам на себя). Но в идеале текущая страница не должна являться ссылкой.
В идеале выглядеть должно так:
А html код такой:
2. Расположение пагинации.
Исключительно под листингом элементов.
Не над ним, не сбоку, не сверху! А сразу под ним.
Понятное дело, что дизайнер хочет сбоку то тут никуда не денешься, но если нет прямых указаний или вы делаете модуль для публичного использования - только под листингом (только под новостями, фото и пр), Дублирование вверхку допускается, но только в исключительных случаях.
3. Предыдущая и следующая.
Первой и последней ссылкой могут быть Предыдущая и следующая. а) их можно опустить и вообще не указывать.
б) им нельзя переименовывать в Назад, вперед, далее и пр. никакие стрелочки, спецсимволы и прочее - не допускается.
4. 10 элементов на страницу - по умолчанию.
то есть 10 новостей, 10 товаров - по умолчанию. Но если элементы маленькие, то можно 20-30. Например как с фотографиями, но более 100шт не допускается.
4. Пагинация в админке
Пагинация в бэкенде ничем не отличается, кроме того, что по умолчанию можно выводить побольше элементов, в среднем по 50 страницу, поскольку sql выборка идет по ID, а она быстрее, чем по url в паблике, да и в админке обычно один админ сидит, а в паблике десятки-тысячи пользователей.4.URL для пагинации
номер страницы передается с помощью URL (нет GET!!!!, а params, которые понимает только usercms).Например, для второй страницы к урлу надо добавить: /page=2 (так неверно: ?page=2)
В итоге полный урл получаем так: SITE_URL/ component/ action /page=2
5. Helper pagination
Генерация пагинации исключительно с помощью Хелпера.Пример:
...
Пред. урок След. урок