Онлайн-руководство разработчика NetCat
Модуль «Поиск по сайту» 13.2.1Начало работы с модулем 13.2.2Язык запросов 13.2.3Способы хранения индекса 13.2.4Интерфейс модуля в панели управления сайтом 13.2.5Области индексирования 13.2.6Области HTML-страниц 13.2.7Области поиска на сайте 13.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 13.2.9Правила индексирования 13.2.10Постановка задачи переиндексирования в очередь 13.2.11Интеграция модуля в макеты дизайна сайта 13.2.12Простая форма поиска 13.2.13Расширенная форма поиска 13.2.14Вывод результатов поиска 13.2.15Стилизация списка подсказок 13.2.16Расширенные настройки 13.2.17Разработка расширений модуля 13.2.18Обзор архитектуры модуля 13.2.19Обработчики документов различных типов 13.2.20Текстовые фильтры 13.2.21Анализаторы текста 13.2.22Корректировщики запросов 13.2.23Подключение других поисковых систем 13.2.24Решение проблем с поиском 13.2.25Решение проблем с индексированием 13.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, который должен быть прописан в макете.

Макропеременная URL – ссылку на соответствующие страницы. Возможно также использование макропеременных TO, соответственно обозначающих номера начального и конечного объекта на странице.

Пример составления формата отображения:

$browse_msg['prefix']   = ""; // Префикс перед блоком навигации
$browse_msg['suffix']   = ""; // Суффикс после блока навигации
$browse_msg['active']   = "%PAGE"; // Формат вывода текущей страницы
$browse_msg['unactive'] = "<a href='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
как сделать чтобы была подгрузка доп записей по кнопке - показать еще, пока не нашел решения на этот вопрос
   
Описание проекта