Продвинутый постраничный бар
Зависимости
Более продвинутая версия компонента Библиотека постраничного бара.
Компонент вызывается в том месте шаблона, где должен находиться постраничный бар.
Пример использования:
IncludeCom("dev/paginator", array(
// Константа M_PAGINATOR_PAGE будет заменена на номер страницы.
"pageUrl" => SiteRoot("example&page;=" . M_PAGINATOR_PAGE), // Ссылка на любую страницу списка.
"firstPageUrl" => SiteRoot("example"), // Ссылка на первую страницу списка
"total" => 60, // Общее количество элементов списка
"perPage" => 6, // Число элементов списка, отображаемое на одной странице
"curPage" => Get("page", 1) // Текущая страница
));
Другой более гибкий пример, не привязанный к имени компонента/страницы:
IncludeCom("dev/paginator", array(
"pageUrl" => GetCurUrl("page=" . M_PAGINATOR_PAGE), // Ссылка на нужную страницу списка через GetCurUrl()
"firstPageUrl" => GetCurUrl("page=" . M_DELETE_PARAM), // Ссылка на первую страницу списка через GetCurUrl()
"total" => 60,
"perPage" => 6,
"curPage" => Get("page", 1)
));
Как мы видим главное отличие здесь в том, что вместо функции SiteRoot() мы используем GetCurUrl().
При этом константы M_PAGINATOR_PAGE и M_DELETE_PARAM легко позволяют нам подставлять номера страниц в url и удалять параметр номера страницы из искомого url.Задание своего шаблона
Важное отличие компонента в том, что он позволяет задавать разные шаблоны для постраничного бара.
В общем случае нам достаточно модифицировать файл-шаблон tpl/dev/paginator.php.
Но мы так же можем создать по его образцу другой файл, например tpl/dev/def_paginator.php, имеющий нужный нам стиль.
Теперь, чтобы использовать этот шаблон, нам нужно добавить в вызов компонента еще один параметр "template":
IncludeCom("dev/paginator", array(
"pageUrl" => GetCurUrl('page=' . M_PAGINATOR_PAGE), // Ссылка на нужную страницу списка через GetCurUrl()
"firstPageUrl" => GetCurUrl('page=' . M_DELETE_PARAM), // Ссылка на первую страницу списка через GetCurUrl()
"total" => 60,
"perPage" => 6,
"curPage" => Get("page", 1)
"template" => "dev/def_paginator" // Другой шаблон отображения
));