вторник, 2 июля 2013 г.

Битрикс. Кастомизация шаблона страничной навигации.

Практически в первый же день работы с Битриксом возникают задания типа вывода списка элементов ИБ и кастомизации шаблона под этот вывод. Схема стандартна: копировать шаблон и изменять его.
Однако, вывод планочки с номерами страниц (т.н. страничной навигации) для вывода списков, не влезающих на одну страницу, кастомизируется не так тривиально.

Сегодня коротенький разговор о том, откуда взять шаблон для кастомизации страничной навигации.

Основы работы с шаблонами можно узнать в уроке Шаблоны Компонента курса Разработчик Битрикс. Хотя чтобы освоить эти курсы надо быть действительно усидчивым человеком, некоторые уроки там очень полезны для общего понимания "как это работает".

Итак, главная сложность в кастомизации страничной навигации состоит в том, что это системный внутренний компонент и у него отсутствуют публичные настройки. То есть скопировать шаблон просто так из фронтенда не получится =) Зато всё можно сделать ручками.

1. Ищем стандартный шаблон компоненты страничной навигации. Относительно корня сайта /bitrix/components/bitrix/system.pagenavigation/templates/.default Кстати, можно увидеть, что в битриксе присутствует выбор встроенных шаблонов для панельки навигации, можно и их использовать. Нам всегда приходят готовые дизайны, поэтому использую дефолтовый шаблон, какая разница, что редактировать.

2. Создаём директорию, где мы будем хранить новый шаблон. Относительно корня сайта /bitrix/templates/.default/components/bitrix/system.pagenavigation/.default
Если интересно, почему создаём эту папку именно тут - читаем как Битрикс ищет шаблоны вот тут. Обычно на сайте используется один шаблон навигации для всех страничек, поэтому бросаю сразу в дефолтовую папку.

3. Копируем содержимое директории из пункта 1 в директорию из пункта 2. А там уже и редактируем файл template.php под нужный нам дизайн панельки страничек. Дизайн автоматически подхватывается, так как мы его бросили в дефолтовую папку (не забываем про кеш).

Комментариев нет:

Отправить комментарий