блок в node.tpl.php

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

Аватар пользователя fuCkLaw fuCkLaw 11 июня 2009 в 14:29

доброго времени суток.
мне понадобилось создать блок в node.tpl.php (блок располагается после $content, но перед $links и $terms). как обычно сделал переменную, записал её в node.tpl.php и в *.info. но этот блок не отображает содержание, которое ему передаёшь. если тоже самое сделать в page.tpl.php, то всё нормально. но мне нужно именно в node.tpl.php в определённом месте.
подскажите, пожалуйста, как можно сделать такой блок?

Комментарии

Аватар пользователя andriy.olischuk andriy.olischuk 11 июня 2009 в 16:56

1. Добавить регион в .info (скажем $node_inline).
2. В файл template.tpl записать:

<?php 
function phptemplate_preprocess_node(&$vars$hook) {
  
$vars['node_inline'] = theme('blocks''node_inline');

?>

3. В node.tpl.php в нужном месте указать:

<?php 
echo $node_inline
?>

4. Прицепить блок к этому региону в админке.

Аватар пользователя fuCkLaw fuCkLaw 11 июня 2009 в 18:28

всё работает) блок отображается и выводит содержание. спасибо!
но почему то когда записываешь <?php print $title?> ничего не выводится. почему?

Аватар пользователя penexe penexe 14 июня 2009 в 15:42

fuCkLaw wrote:
это всё равно не помогает

если вы хотите поправить хтмл блока, то его нужно править в шаблоне блока
то етсь в файлах типа block-block-0.tpl.php аналогично шаблону block.tpl.php