Темизация ноды

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

Аватар пользователя awd777 awd777 9 декабря 2011 в 12:30

Добрый день.

Есть тип контента Product, в нем 2 поля типа File->Image.
Одно просто изображение, второе выводится с помощью Lightbox2 модуля.
И в body просто текст, описание продукта.

Нужно темизировать вывод ноды.
<?php print_r($node); ?>
Выводит
<?php[body] => Описание формочки 2?>

Темизирую tpl файл:

<?php
<div class="b-my">
        <?
php
            
foreach ($node->field_photos as $key => $photo) {
                print 
$photo['view'];
            }
        
?>
        <?php print $node->body?>
    </div>
?>

В итоге print $node->body; выводит почему то кроме содержимого поля body и содержимое полей с изображениями. Что я делаю не так? Как мне получить только текст из body, а фото выводить вручную, как выше?

Комментарии

Аватар пользователя awd777 awd777 9 декабря 2011 в 13:28

Смотрю)
Так и есть: он к выводу поля body ставит и все остальные поля изображений

Так и должно быть? Придется заводить новое текстовое поле конкретно под описание продукта, а body просто оставлять пустым?..

Аватар пользователя divined divined 9 декабря 2011 в 14:31

нет, так быть не должно, поле боди должно содержать только ваше описание ноды и ничего больше, видать тема таким образом переписывает его. Посмотрите этот вывод в другой теме.

Аватар пользователя awd777 awd777 9 декабря 2011 в 15:13

За основу брал дефолтную тему Garland, drupal 6.

Добавил туда только 1 функцию темизации меню (theme_links).

Переключил сейчас на garland, добавил только свой node.tpl.php для данного типа:

<?php<div id="node-<?php print $node->nid?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
    <h2 class="b-p-title"><?php print $title ?></h2>
    <div class="content clear-block">
        
    </div>
    <div class="b-my">
        <?php
            
foreach ($node->field_photos as $key => $photo) {
                print 
$photo['view'];
            }
        
?>
        <pre>
            <?php drupal_set_message('<pre>*ля: 'print_r($node->body1).'</pre>',status); ?>
        </pre>
    </div>
</div>
?>

Всё равно в статус выводит фото тоже:
http://gyazo.com/446a96296f1545561da71a3d8657274e.png

Аватар пользователя awd777 awd777 9 декабря 2011 в 15:26

Обычный тип материала, ничего особенного, добавлено всего 2 поля изображений. В этих полях нет никаких настроек, кроме путей сохранения (path). Ну и в imagecache их профили обработки.
Единственное сомнение - по поводу настроек Display Fields у типа.
Сейчас такие:

Может это повлиять?
Но если я уберу обработку Lightbox2 придется их вручную верстать каждый раз.. А exclude удалит его совсем из выдачи или нет?

Upd. Да, туплю.. Там же сверху всё разжевано про $content и exclude x_x
Теперь всё ок.
Спасибо за помощь!