Программно выводим блок в Drupal

Если вы решили вывести блок, реализованный в каком либо модуле, программно, то следующие  примеры кода помогут вам.

Используя block API

Запрашиваем данные блока через API, готовим массив для последующего рендеринга:

На этом этапе можно (если хотите) отключить стандартный wrapper блока, чтобы вывести только содержимое блока:

Остаётся только выполнить рендеринг:

Программный вывод блока, определенного через views

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

Вам нужно будет знать имя объекта views и имя отображения (display), т.к. в одном представлении может быть несколько отображений.

или в одну строку:

Здесь описано более подробно.

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

Удаление поля из entity в Drupal программно

Январь 10, 2020 г.

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

Читать

Как получить текущий id node в drupal из кода программы?

Ноябрь 8, 2016 г.

Можно использовать анализ адреса хранимый Drupal в $_GET['q'] и/или анализ частей адреса, получаемых функцией arg(N). Оба варианта по сути делают одно и тоже - анализ внутреннего адреса, который для публикации имеет вид: node/%NID%. Я использую функцию ...

Читать

node_save в hook_node_insert

Апрель 13, 2021 г.

Рассмотрим технику того, как выполнить node_save во время hook_node_insert. Проблема в том, что во время данного хука мы еще находимся в транзакции и выполнить сохранение ноды прямо тут коде функции - не получится. Т.е. следующий код работать не ...

Читать

Добавление условий во views программно

Март 31, 2019 г.

Модуль Views - мощный инструмент в копилке друпалера. Конструктор позволяет создавать условия, перекрывающие большую часть потребностей в практических ...

Читать
 

Комментарии к «Программно выводим блок в Drupal»

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



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