Онлайн-руководство разработчика NetCat
Новогодние скидки до 25%!
Подробнее
Модуль «Поиск по сайту» 12.2.1Начало работы с модулем 12.2.2Язык запросов 12.2.3Способы хранения индекса 12.2.4Интерфейс модуля в панели управления сайтом 12.2.5Области индексирования 12.2.6Области HTML-страниц 12.2.7Области поиска на сайте 12.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 12.2.9Правила индексирования 12.2.10Постановка задачи переиндексирования в очередь 12.2.11Интеграция модуля в макеты дизайна сайта 12.2.12Простая форма поиска 12.2.13Расширенная форма поиска 12.2.14Вывод результатов поиска 12.2.15Стилизация списка подсказок 12.2.16Расширенные настройки 12.2.17Разработка расширений модуля 12.2.18Обзор архитектуры модуля 12.2.19Обработчики документов различных типов 12.2.20Текстовые фильтры 12.2.21Анализаторы текста 12.2.22Корректировщики запросов 12.2.23Подключение других поисковых систем 12.2.24Решение проблем с поиском 12.2.25Решение проблем с индексированием 12.2.26Справочник API

Постраничная навигация

Для формирования и вывода в разделах постраничной навигации нужно использовать функцию:

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

Александр  Акцент-Дон 17 июня 2015, 12:24:16
Как использовать макропеременные %FROM и %TO ?
Дайте пример.

Хорошо бы иметь возможность показать ссылку на первую/последнюю страницу.

Типа:
1 ... 21 22 23 .... 50
   
gdsn  Goodsign 01 июля 2017, 00:45:14
Разработчики, дайте пример ссылок на первую и последнюю страницы.
   
ima  Kit.team 13 марта 2020, 16:16:22
$prevLink
$nextLink
   
woobla  Виталий Коваль/Woobla 23 ноября 2017, 00:24:50
Разработчики: Когда же вы уже сделаете это более гибким.
   
Randir  Фэнтези Дизайн 10 марта 2021, 14:19:41
столько не живут)
   
werba  Левчук Сергей 25 мая 2023, 22:42:39
я добавил ссылки в суффикс и префикс, вроде работает

$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'] = " "; // Разделитель между ссылками
   
Александр  Acat 07 октября 2023, 12:36:00
как сделать чтобы была подгрузка доп записей по кнопке - показать еще, пока не нашел решения на этот вопрос
   
Описание проекта