название_хука — (в отличие от D6, где мы бы написали 'block', 'view'), теперь делается проще
: 'block_view'
Вывести пользовательский блок
Т.е. чтобы вывести пользовательский блок под номером 1, делаем так:
$block = module_invoke('block', 'block_view', '1');
print $block['content'];
?>
Вывести блок предоставленный модулем
Если же блок конкретного модуля всего один, то дельту можно вообще не указывать. На примере ниже показано, как вывести блок поиска в drupal 7:
$block = module_invoke('search', 'block_view');
print render($block['content']);
?>
В отличие от вывода простого текстового блока, для многих других блоков нужно использовать render(), иначе вы увидите не более чем Array. 
Вывести блок из views
Ну, тут, тоже все просто и по тому же принципу: module_invoke('имя_модуля', название_хука, delta).
Например, выводим блок из представления (т.е. views) с названием 'comments_recent':
print render($block['content']);



Следуй за мной на Twitter
Мои скринкасты на Vimeo






- 4 комментария
• Обновлено: 09/11/2011 - 12:24