Не всегда удобно выводить блоки в определенные шаблоном регионы. Как вывести произвольный блок в нужном месте шаблона?
Для решения этой задачи пришлось не много покопаться в коде движка. Результатом копания стала вот такая функция:
|
|
/* рендеринг заданного блока */ 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 с темизацией вручную — ...
Читать
Ноябрь 23, 2025 г.
В Webform для Drupal 7 нет отдельного типа элемента, который отвечал бы за одиночный чекбокс. Если возникает задача добавить в форму знакомую всем галочку ...
Читать
Сентябрь 9, 2016 г.
Мощный, всепоглощающий, великий и ужасный модуль VIEWS. Очень коварный, он толкает программиста с пути "только хардкор" и разработки на PHP на скользкую ...
Читать
Май 8, 2023 г.
В Drupal 9/10 нет jQuery плагина once(), потому при использовании этой функции вы увидите сообщение о том, что once - не является функцией.
Плагин удобен, но его не сложно заменить в коде буквально парой вставок. Он работает по следующему алгоритму ...
Читать