Доброго времени суток!
В D6 по умолчанию не происходит оборачивания содержимого поля body в какие либо теги. Выводится как есть. При использовании CCK к выводу добавляются поля прикрепленные к нодам обернутые примерно так
содержимое поля
. Как можно в дополнение к полям CCK обернуть стандартное поле для ввода контента? На данный момент я делаю это так:
<?php
function mytheme_preprocess_node(&$vars){
$vars['content'] = str_replace($vars['node']->content['body']['#value'], '<div class="field field_body">' . $vars['node']->content['body']['#value'] . '</div>', $vars['content']);
}
?>
Комментарии
А просто темизировать node.tpl.php без функции?
Вместо <?php print $content ?> <?php print $node->content['body']['#value']; ?>
Так надо же и остальные поля выводить
Если не много, то в ноде прописать и остальные <?php print $node->field_NAME[0]['view']; # или [0]['value']?>
Трудоемкость от вашего решения не уменьшается. И жестко прописывать вывод полей не очень хорошо на мой взгляд. Можно придумать циклом выводить поля, так это еще больше думать надо. А всего то мне нужно обернуть в тег содержимое, что бы хорошо оформить его при помощи CSS
Тогда Ваш вариант оптимален. Мне например не трудно обернуть в свои дивы все поля cck. И верстка(структура DOM) уникальна и вывожу там где хочу.
Я думал, может есть красивей решения...