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

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

Используя block API

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

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

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

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

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

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

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

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

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

Drupal API функции для работы с таксономией

Октябрь 12, 2018 г.

Drupal 7 поддерживает работу с таксономией на уровне ядра (модуль taxonomy), предоставляя богатый арсенал функций. Здесь мы рассмотрим только функции, ...

Читать

Получить имя текущей темы по дефолту в Drupal

Январь 21, 2019 г.

Theme API к сожалению не даёт прямого метода, чтобы прочитать это значение. Как его получить? Иногда программно нужно установить, что именно видит пользователь на фронт-енд (какую тему использует движок). Необходимость возникает из-за того, ...

Читать

Использование cache API Drupal 7

Май 14, 2019 г.

Изучение API удобно начинать с шаблонов кода, которые демонстрируют технику использования. Пример логики использования/создания элемента кеша [crayon-695bac587c46d124100051/] Обратите внимание на дополнительные скобки вокруг $cache = cache_get($cache_id). ...

Читать

Вывод сообщений валидации формы рядом с формой

Март 20, 2019 г.

При возникновении ошибок, во время проверки формы друпал выполняет две вещи, которые отражаются на фронт-энд - добавляет сообщение об ошибке в стек сообщений и маркирует классом error поле, содержащее ошибку. Если форма находится далеко от места вывода ...

Читать
 

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

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



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