Продвинутый постраничный бар
Зависимости
Более продвинутая версия компонента Библиотека постраничного бара.
Компонент вызывается в том месте шаблона, где должен находиться постраничный бар.
Пример использования:
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" // Другой шаблон отображения ));