Для формирования и вывода в разделах постраничной навигации нужно использовать функцию:
browse_messages( $cc_env, $range, $user_template = false )
Массив $cc_env является неизменным параметром данной функции и содержит переменные окружения текущего компонента раздела.
Параметр $range определяет количество выводимых страниц. Вместо этой переменной обычно пишется число. Подразумевается, что из множества страниц одновременно будет показываться только список из $range страниц. Например, ваш листинг состоит из 20 страниц. Если $range=10, то, находясь на первой странице, вы будете видеть страницы с 1 по 10, находясь на 15-й странице, вы будете видеть страницы 10-20.
Массив $user_template[], для настройки формата отображения используется альтернативный пользовательский шаблон , значения которого указываются в системных настройках компонента или макете(в этом случае нужно сделать этот массив доступным в компоненте, с помощью global $user_template;), по умолчанию, если не передавать этот параметр, используется массив $browse_msg, который должен быть прописан в макете.
Макропеременная %PAGE обозначает номер страницы, макропеременная %URL – ссылку на соответствующие страницы. Возможно также использование макропеременных %FROM и %TO, соответственно обозначающих номера начального и конечного объекта на странице.
Пример составления формата отображения:
$browse_msg['prefix'] = ""; // Префикс перед блоком навигации $browse_msg['suffix'] = ""; // Суффикс после блока навигации $browse_msg['active'] = "%PAGE"; // Формат вывода текущей страницы $browse_msg['unactive'] = "<a href='%URL'>%PAGE</a>"; // Формат вывода ссылок $browse_msg['divider'] = " "; // Разделитель между ссылками
Предположим, что внизу списка объектов нужно выводить постраничную навигацию по 15 ссылок (Страницы 1 2 3 ... 15). Фрагмент суффикса списка объектов компонента:
<?= browse_messages($cc_env, 15) ?>
Комментарии 7
Дайте пример.
Хорошо бы иметь возможность показать ссылку на первую/последнюю страницу.
Типа:
1 ... 21 22 23 .... 50
$nextLink
$browse_msg['prefix'] = "<li><a href='%URL'>Начало</a></li>"; // Префикс перед блоком навигации
$browse_msg['suffix'] = "<li><a href='%URL'>Конец</a></li>"; // Суффикс после блока навигации
$browse_msg['active'] = " <li class='active'><a href='%URL'>%PAGE</a></li>"; // Формат вывода текущей страницы
$browse_msg['unactive'] = "<li><a href='%URL'>%PAGE</a></li>"; // Формат вывода ссылок
$browse_msg['divider'] = " "; // Разделитель между ссылками