Не всегда удобно выводить блоки в определенные шаблоном регионы. Как вывести произвольный блок в нужном месте шаблона?
Для решения этой задачи пришлось не много покопаться в коде движка. Результатом копания стала вот такая функция:
|
|
/* рендеринг заданного блока */ function render_block($delta, $moduleName) { $render = _block_get_renderable_array(_block_render_blocks(array( block_load($moduleName, $delta) ))); $output = drupal_render($render); return $output; } |
Т.е. вам нужно знать системное название блока — параметр delta и системное название модуля — параметр moduleName, в котором реализован данный блок.
Данная запись опубликована в 12.07.2015 20:51 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 12, 2025 г.
В Drupal контроллеры чаще всего возвращают Renderable-массивы. Такие массивы автоматически проходят через систему рендеринга и подставляются в базовый шаблон темы (page.html.twig). Но иногда бывает нужно получить полный Response с темизацией вручную — ...
Читать
Январь 4, 2019 г.
Конструирование запросов через Drupal DB API необходимо для поддержки совместимости кода для разных источников данных.
Друпал предоставляет и более прямые средства для написания запросов вроде db_query, и никто не может запретить вам применить функционал ...
Читать
Март 1, 2016 г.
Когда заказывают переделать сайты с "историей", приходится перетаскивать имеющиеся публикации на новый сайт. Хочу поделиться некоторыми моментами, связанными ...
Читать
Апрель 15, 2017 г.
Еще одна шпаргалка по Drupal 7. Мы создадим публикацию из PHP, добавим пользовательские поля и даже загрузим файл (изображение) в поле соответствующего типа.
Сначала мы создадим структуру публикации (объект node). Нам понадобится указать данные, ...
Читать