Как вставить блок в ноде (в полной версии) после предполагаемого тизера

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

Аватар пользователя Valeratal Valeratal 26 января 2011 в 21:11

Собственно сабж

Просто вставить блок в ноду я могу. А как вставить в полную версию ноды блок после break я не понимаю

подскажите, кто сталкивался

Заранее спасибо

Комментарии

Аватар пользователя IrinaStasuk IrinaStasuk 26 января 2011 в 21:18

"Valeratal" wrote:
вставить в полную версию ноды блок после break

Вставка блока в ноду

<?php
$block = module_invoke('block', 'block', 'view', 7);
print $block['content'];
?>

уточню, что если блок построен модулем, то $block = module_invoke('модульблока', 'block', 'view', номер или название блока);

Где-то взято - не помню

Аватар пользователя Eugeny Eugeny 26 января 2011 в 21:21

Можно в node.tpl.php после тизера программно вывести блок. Как програмно вывести блок на форуме много инфы

P.S. Опередили ))

Аватар пользователя Valeratal Valeratal 26 января 2011 в 21:25

эмм, я ж пишу

Просто вставить блок в ноду я могу. А как вставить в полную версию ноды блок после break я не понимаю

я и не просто блок вывожу, я регион сделал в ноде, а в нем уже вывожу блоки. Но вывожу перед линкс.

А как вывести после break ?

Аватар пользователя Eugeny Eugeny 26 января 2011 в 21:36

тогда наверное вам нужно разобрать $content в node.tpl.php ( через print_r() например ) . Вывести отдельно тизер и body и между ними воткнуть код написанный выше.

Аватар пользователя vitok vitok 26 января 2011 в 23:14

х.з. я пока только вижу решение для анонса и полного продолжения использовать 2 разных поля. т.к. не вижу никакой другой возможности вставить нужную инфу после "break" при просмотре полного содержимого. А вопрос действительно интересный.

Аватар пользователя Valeratal Valeratal 26 января 2011 в 23:18
<?php print $node->teaser ?>

сюда вставляем код

типа

   <?php if ($node_bottom && !$teaser): ?>
 <div id='node_bottom'>
 <?php print $node_bottom ?>
 </div>
 <?php endif; ?>

<?php print $node->body ?>

ну и надо в теплейт прописать, что есть вставка региона в ноду

у меня так (прописано 2 региона)

function hrportal_preprocess_node(&$vars, $hook) {
         
  $vars['node_bottom'] = theme('blocks', 'node_bottom');
  $vars['node_bot_ads'] = theme('blocks', 'node_bot_ads');
global $user;
}
Аватар пользователя vitok vitok 27 января 2011 в 12:35

"direqtor" wrote:
Лучше два текстовых поля CCK для анонса и текста и поле с блоком между ними.

А чем лучше? Valeratal вроде решил проблему, кстати 2 текстовых поля не так удобно как кнопка "break" - это может рассказать любой контент-менеджер. Smile