Решение
Drupal 5
В этой версии текст анонса является переменной объекта $node:
Drupal 6
В D6 объект $node не содержит переменной, которая хранит текст анонса, потому что поменялся механизм анонсов.
В то время, когда шаблон получает данные ноды, существуют только $body и $content. $content содержит только анонс (при просмотре списка статей) или текст ноды (для полного просмотра). Анонс никогда не создаётся в виде отдельной переменной при просмотре полного текста ноды.
Для решения этой проблемы используется имя_темы_preprocess_node(), чтобы определить был ли анонс задан вручную и ВЫКЛЮЧЕН ли параметр "Показать анонс при полном просмотре". Когда этот включено "Показать анонс при полном просмотре", Друпал автоматически добавляет анонс в $body (или $content) ноды - это выглядит как вступление к статье, а не вывод того, что вы читаете:
if ($variables['page'] == TRUE) {
$node = node_load($variables['nid']);
if (strpos($node->body, '<! --break-- >') === 0) {//Убрать пробелы
$variables['style_teaser_differently'] = TRUE;
$variables['only_teaser'] = check_markup($node->teaser, $node->format, FALSE);
}
}
}
Обратите внимание:
Нода уже была загружена раньше и node_load() вернёт кешированную версию.
Вывод в node.tpl.php
<div class="node-summary"><?php print $only_teaser; ?></div>
<?php } ?>
Обратите внимание:
Нужно очистить кеш на странице "Производительность" (admin/settings/performance) - иначе изменения в template.php не будут видны...










