Как мне найти идентификатор друпального блока, если я знаю, что это блок-описание? - PullRequest
0 голосов
/ 17 ноября 2010

В конкретном шаблоне я хочу использовать блок, поэтому его содержимое может быть отредактировано редактором для всего содержимого, использующего этот шаблон.

Поскольку настройка многосайтовая, я не могу использовать идентификатор блока (bid).Идентификатор блока различен для разных сайтов.

Есть ли способ получить blockid для описания блока через API?

Я мог бы использовать SQL-запрос к таблице prefix_boxes, нопредпочел бы использовать документированный API.

В настоящее время я использую код ниже в Drupal версии 6.

$block = module_invoke('block', 'block', 'view', 7);
print $block['content'];

Ответы [ 2 ]

1 голос
/ 17 ноября 2010

Вы можете использовать block_list (вот документация к нему: http://api.drupal.org/api/drupal/modules--block--block.module/function/block_list/6), чтобы получить список блоков по регионам, там вы должны найти свой идентификатор блока по описанию.

Но пишите свойзапрос не плохое решение в этом случае, по моему мнению, по крайней мере.

0 голосов
/ 20 сентября 2013

Вы не хотите использовать блок, а сам регион. Это можно сделать с помощью _preprocess_nodehook, добавив регион в .info и распечатав регион в вашем шаблоне.

Кстати, трюк, который опубликовал Ran, довольно интересен, так как вы можете использовать его для записи своего региона практически в любой части сайта Drupal.

...