Drupal 6: темизация views
Опубликовано: 18.06.2017
Работаю сейчас над созданием интересного проекта на drupal 6. И понадобилось мне видоизменить стандартный вывод вьюсы, в частности, переставить pager в верхнюю часть блоков, генерируемых views.
Для этого надо переопределить в теме шаблон views-myview.tpl.php
Вообще, я не часто использую широкие возможности темизации вьюсов, обычно дело обходится темизацией через css. А зря, потому что многие задачи при использовании views за счет темизации можно решить куда более изящно.
Итак, в ниже следующем коде все предельно просто - функция, которая выводит постраничный навигатор перенесена в начало, и выводится сразу после заголовка. Все остальное - без изменений.
Темизация Drupal урок 6 Темизация Views, темизация views slideshow и jcarousel
Не забудьте сбросить кеш после переопределения системных шаблонов.
Это пример из разряда "совсем просто". Вообще возможности в плане темизации вьюсов очень широки.
1. Определение вида представления
При создании views'ы мы можем выбрать разные виды для отображения представления - страница, блок, вложение (attach) и так далее. В блоке основных настроек (basic settings) есть пунктик "Тема: информация" (theme information). Здесь мы увидим несколько групп шаблонов для представления (views):
Основной шаблон: views-view.tpl.php (и варианты views-view--your-view-name.tpl.php, views-view--block.tpl.php, views-view--your-view-name--block.tpl.php, views-view--.tpl.php, views-view--block-1.tpl.php, views-view--your-view-name--block-1.tpl.php). Здесь задается основная структура вьюсы - административные ссылки, заголовок, формы фильтров, навигатор (тот самый pager, который мне и нужно было передвинуть), ссылка "more", подвал, блок для вывода текста в пустом представлении, содержимое представления, attached views (вложения).
Шаблоны стиля форматрирования - views-view-unformatted.tpl.php (без форматирования), кроме того может быть - сетка, html список, таблица и т.д. Тут темизируется заголовок и строки представления.