Спасибо, но это не то, про регионы я уже давно знаю, и CCK block блок не совсем подходит, я создаю для определенных страниц свой файл темизации и мне необходимо подключать блоки прямо в них, без использования регионов.
Тогда все зависит от того, что это за блоки. Если это просто код рекламного баннера, вставленного руками, то проще его вставить в соответствующий темизированый page или node шаблон. А если это блок другого модуля, причем еще и созданный динамически, то просто не получится...
блоки динамические еще и с ajax ом, как я говорил я на друпал ру я где-то уже видел код который это делает (не помню точно через стандартную функцию или объявленную в template.php) только не могу найти этот пост.
Проще всего, конечно, дергать прям хук блока модуля.
Только нужно знать какой модуль отвечает за генерацию вашего блока и дельту блока.
Вот пример вызова блока входа в систему:
<?php
$block = user_block('view', 0);
print theme('block', $block);
?>
В данном случае user - это модуль
view - режим вызова функции (просмотр)
0 - это дельта
Подробности смотрите в описании хука "hook_block" http://api.drupal.org/api/function/hook_block/6
Что то не совсем получается, hook можно применять не в модулях? пробовал распечатать полученную $block (print_r)ничего не выводит модуль и дульту проверял по базе
Слушайте, ну должно работать
<?php
$block = facebook_status_block('view', 0);
print $block['subject']; // 'Status' - это должно быть напечатано;
print $block['content']; // результат функции facebook_status_display_b(NULL, 0, $delta);
?>
Может у Вас ноды закешированы???
Попробуйте сбросить кеш материалов или просто его выключить.
Комментарии
в настройках блоков, создайте блок, укажите на каких страницах он должен отображаться, и выберите ему регион.
Ещё варианты:
Поле CCK block
Вставка вашего кода в требуемый шаблон (page.tpl.php или node.tpl.php) по какому-нибудь условию или создание отдельного шаблона.
Спасибо, но это не то, про регионы я уже давно знаю, и CCK block блок не совсем подходит, я создаю для определенных страниц свой файл темизации и мне необходимо подключать блоки прямо в них, без использования регионов.
Тогда все зависит от того, что это за блоки. Если это просто код рекламного баннера, вставленного руками, то проще его вставить в соответствующий темизированый page или node шаблон. А если это блок другого модуля, причем еще и созданный динамически, то просто не получится...
блоки динамические еще и с ajax ом, как я говорил я на друпал ру я где-то уже видел код который это делает (не помню точно через стандартную функцию или объявленную в template.php) только не могу найти этот пост.
При помощи функции views_build_view еще можно
спасибо, это я знаю, вьюшки уже подключил, мнеб такую функцию для блоков!
block_box_get попробую
Проще всего, конечно, дергать прям хук блока модуля.
Только нужно знать какой модуль отвечает за генерацию вашего блока и дельту блока.
Вот пример вызова блока входа в систему:
<?php
$block = user_block('view', 0);
print theme('block', $block);
?>
В данном случае user - это модуль
view - режим вызова функции (просмотр)
0 - это дельта
Подробности смотрите в описании хука "hook_block"
http://api.drupal.org/api/function/hook_block/6
Что то не совсем получается, hook можно применять не в модулях? пробовал распечатать полученную $block (print_r)ничего не выводит модуль и дульту проверял по базе
Любой хук это обычная функция, ее можно использовать где угодно.
Приведите Ваш код, который Вы написали.
<?php
$block = facebook_status_block ('view', 0);
print theme('block', $block);
?>
Модуль insert_block попробуйте
смотрел этот модуль, лучше попробую хоком это сделать
Слушайте, ну должно работать
<?php
$block = facebook_status_block('view', 0);
print $block['subject']; // 'Status' - это должно быть напечатано;
print $block['content']; // результат функции facebook_status_display_b(NULL, 0, $delta);
?>
Может у Вас ноды закешированы???
Попробуйте сбросить кеш материалов или просто его выключить.
Спасибо большое работает!!!