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

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

Используя block API

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

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

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

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

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

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

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

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

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

Возможные проблемы Invalid form POST data

Октябрь 24, 2019 г.

Браузер сообщает об ошибке всплывающим окном вроде того, что на скриншоте. Сообщается, что AJAX завершен неправильно. Но основной симптом - что не работают ...

Читать

Список всех типов публикаций в Drupal

Май 13, 2020 г.

Как получить полный список зарегистрированных типов публикаций в Drupal 7. Задача типична для бек-енда при создании форм страниц настроек. Потому покажу в статье пример реализации поля для формы с выбором типов публикаций. В API Drupal существует ...

Читать

Проблемы загрузки скриптов в параграфах Drupal 7

Март 22, 2021 г.

Проявляется как не прогружающиеся wysiwyg редактор (ckeditor, например) или элементы поля, обрабатываемые модулем media, при добавлении параграфа (entity модуля parapraphs). Это по-крайней мере два примера с которыми я лично сам сталкивался. Характерно, ...

Читать

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

Январь 10, 2020 г.

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

Читать
 

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

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



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