Блок в ноде

Главные вкладки

Аватар пользователя gumk gumk 9 января 2009 в 3:05

Добрый день, видел где-то на сайте код, для размещения блока в ноде, не могу теперь найти, не подскажете как это делается?

Комментарии

Аватар пользователя Splinter Splinter 9 января 2009 в 9:04

в настройках блоков, создайте блок, укажите на каких страницах он должен отображаться, и выберите ему регион.

Аватар пользователя direqtor direqtor 9 января 2009 в 9:30

Ещё варианты:

Поле CCK block

Вставка вашего кода в требуемый шаблон (page.tpl.php или node.tpl.php) по какому-нибудь условию или создание отдельного шаблона.

Аватар пользователя gumk gumk 9 января 2009 в 11:40

Спасибо, но это не то, про регионы я уже давно знаю, и CCK block блок не совсем подходит, я создаю для определенных страниц свой файл темизации и мне необходимо подключать блоки прямо в них, без использования регионов.

Аватар пользователя direqtor direqtor 9 января 2009 в 13:28

Тогда все зависит от того, что это за блоки. Если это просто код рекламного баннера, вставленного руками, то проще его вставить в соответствующий темизированый page или node шаблон. А если это блок другого модуля, причем еще и созданный динамически, то просто не получится...

Аватар пользователя gumk gumk 9 января 2009 в 13:50

блоки динамические еще и с ajax ом, как я говорил я на друпал ру я где-то уже видел код который это делает (не помню точно через стандартную функцию или объявленную в template.php) только не могу найти этот пост.

Аватар пользователя seaji seaji 9 января 2009 в 14:52

Проще всего, конечно, дергать прям хук блока модуля.
Только нужно знать какой модуль отвечает за генерацию вашего блока и дельту блока.
Вот пример вызова блока входа в систему:
<?php
$block = user_block('view', 0);
print theme('block', $block);
?>
В данном случае user - это модуль
view - режим вызова функции (просмотр)
0 - это дельта
Подробности смотрите в описании хука "hook_block"
http://api.drupal.org/api/function/hook_block/6

Аватар пользователя gumk gumk 9 января 2009 в 15:27

Что то не совсем получается, hook можно применять не в модулях? пробовал распечатать полученную $block (print_r)ничего не выводит модуль и дульту проверял по базе

Аватар пользователя seaji seaji 9 января 2009 в 15:29

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

Аватар пользователя seaji seaji 9 января 2009 в 15:51

Слушайте, ну должно работать
<?php
$block = facebook_status_block('view', 0);
print $block['subject']; // 'Status' - это должно быть напечатано;
print $block['content']; // результат функции facebook_status_display_b(NULL, 0, $delta);
?>
Может у Вас ноды закешированы???
Попробуйте сбросить кеш материалов или просто его выключить.