Вставляем объект views в нужное место шаблона средствами PHP

Мощный, всепоглощающий, великий и ужасный модуль VIEWS. Очень коварный, он толкает программиста с пути «только хардкор» и разработки на PHP на скользкую дорожку программирования без программирования. :)

Попробую показать работу с модулем VIEWS, что называется из кода. Здесь показаны примеры с использованием версии модуля Views 7.x — 3.14.

Объект Views

Пусть к нас есть какое то представление (объект views). Получить его объект можно вот так:

Нужно знать лишь машинное имя представления. Далее все в вашей власти.

Подстановка значений открытых фильтров

Если представление содержит exposed filters, а вам необходимо задать их значения, то делается это следующим образом:

Названия фильтров можно подсматривать в HTML коде преставления или в редакторе.

В редакторе наведите курсор на название критерия фильтрации, и последний элемент пути будет содержать правильное машинное имя параметра фильтра. Opera, к примеру, показывает подсказку внизу экрана.

filter-criteria

Выбор отображения

Если в вашем представлении используется несколько отображений, выбрать нужное можно вот так:

Выполняем запрос VIEW

Фильтры установлены, тип отображения выбран. Пора выполнить запрос.

Далее готовимся к выводу данных в шаблон.

Отключаем вывод фильтра во VIEWS

Если его не надо показывать пользователю, то фильтр нам уже не нужен (вьюха была запущена, данные запрошены).

Просто удалим виджеты фильтра.

Вывод представления в шаблон

В большинстве случаев остается только получить HTML код путем запуска рендеринга объекта представления.

Вставка HTML кода перед футером VIEWS

Это что то из разряда частных задач. Пример, возможно, простимулирует вас самостоятельно покопаться в объекте VIEWs.

Я хочу вклинить HTML код во внутрь представления, чтобы он (код) был показан сразу после вывода элементов списка, но до футера (views footer).

Тут придется анализировать есть ли вообще футер у views, а также смотреть не пустой ли список возвращает запрос производимый представлением.

Написать комментарий

Мало букафф? Читайте есчо !

Изменить текст no-results во views программно

Февраль 5, 2020 г.

Drupal views позволяют сконфигурировать сообщение на случай если результат запроса пуст и нельзя срендерить какой либо контент для данного представления. Данная опция находится во вкладке 'advanced' вашего представления. Но в данной статье я покажу ...

Читать

Прячем поле view в зависимости от роли пользователя в Drupal

Август 31, 2023 г.

Метод работает не только с ролями, но и любой другой логикой, которую вы в силах реализовать в коде. Нам понадобится hook_views_pre_render, где мы выполним проверку и отключим не нужное нам поле представления. [crayon-662ba9b41eb6a373470649/] ...

Читать

 

Комментарии к «Вставляем объект views в нужное место шаблона средствами PHP»

Понравилась статья? Есть вопросы? - пишите в комментариях.



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