Не всегда удобно выводить блоки в определенные шаблоном регионы. Как вывести произвольный блок в нужном месте шаблона?
Для решения этой задачи пришлось не много покопаться в коде движка. Результатом копания стала вот такая функция:
|
|
/* рендеринг заданного блока */ 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Май 6, 2017 г.
Я нашел некоторые особенности того примера, что я давал вчера. Потому я решил немного ещё поэкспериментировать, чтобы дать более качественное решение. ...
Читать
Октябрь 4, 2024 г.
Проблема описана вот тут, и там даже предлагается патч https://www.drupal.org/files/issues/2024-05-28/3134922-40.patch,который частично решает проблему, но в #43 siavash (Sia) более подробно рассказывает о том, как сохраняются данные, и становится ясно, ...
Читать
Август 21, 2023 г.
DB API в drupal позволяет стоить, наверное, почти любые запросы, какие только можно составить на чистом sql. Приведенный ниже сниппет кода демонстрирует ...
Читать
Март 15, 2018 г.
Всё, что вы можете сделать из админки, может быть сделано программно. Удаление типа публикации в Drupal тоже можно сделать из кода на PHP.
Перед тем как удалить тип публикации, возможно, стоит подчистить экземпляры нод данного типа. Потому сначала ...
Читать