Вставляем объект 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, а также смотреть не пустой ли список возвращает запрос производимый представлением.

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

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

Установим контекстные фильтры в drupal views программно

Август 30, 2021 г.

Пример кода как рендерить блок views с программной установкой contextual filters. Контекстные фильтры устанавливаются методом ViewExecutable::setArguments(array $ARGS). В примере я передаю пару аргументов в качестве значений контекстных фильтров. ...

Читать

Убираем пустые категории из фильтра во views

Сентябрь 13, 2023 г.

Весьма распространённый случай, когда в качестве exposed filter используется поле, связанное с таксономией. Так вы получаете набор опций в фильтре для своего представления, которое доступно пользователю. Также весьма часто некоторые дополнительные ...

Читать

 

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

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



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