[РЕШЕНО] темизация элементов ноды на главной

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

Аватар пользователя svd svd 17 августа 2010 в 11:20

День добрый.
Я создал свой тип контента с помощью CCK (добавил 5 полей: день, месяц, год, час, минута)
Создал view к этому типу контента
задал row style: node (материал).
Также я установил модуль image и позволил присоединять изображение к моему типу материала, а также к типу story.
В template.php моей темы немного переопредилил вывод присоединенных изображений к материалам задав 2 ф-ии:

<?php
function MYTHEME_image_attach_teaser($node) {...}
function 
MYTHEME_image_attach_body($node) {...}
?>

В этих ф-ях я добавил свой css класс к тегу

что обрамляет изображение.
<?php
$class 
'image-attach-teaser' . ($image->status '' ' image-unpublished');
$class .= ' image-attach-teaser-left';// в ф-ии MYTHEME_image_attach_teaser

$class 'image-attach-teaser' . ($image->status '' ' image-unpublished');
$class .= ' image-attach-body-left';// в ф-ии MYTHEME_image_attach_body
?>

В css стиле моей темы дописал

div.image-attach-teaser-left {
  .image-attach-teaser-left {
        padding:0px 7px 3px 0px;
        float:left;
}

.image-attach-body-left {
        padding:0px 7px 3px 0px;
        float:left;
}

Картинка выводятся слева. Текст ее обрамляет. Все получилось как и задумывалось.
Но вот проблема когда выводяться материалы на главной, а также мой материал в виде тизеров
некоторые из иоих 5 полей (при условии что содержимого в тизере мало) как бы являются продолжением тизера (см. в аттаче)
Мне нужно чтобы поля даты выводились в отдельном контейнере с моим css классом у которого я бы задал стиль .myclass {clear:both;} т е ниже всего контента на отдельной строке. Но я ума не приложу как это можно сделать. пробовал создать файл в моей теме node-mytype.tpl.php но это не работает на главной. То же самое и в случае с views-view-fields--mytype.tpl.php (оба варианта работают только при просмотре ноды, но не в тизере на главной). Ума не приложу как это сделать.

ВложениеРазмер
Иконка изображения screen.JPG30.87 КБ

Комментарии

Аватар пользователя svd svd 17 августа 2010 в 16:34

Решил проблему.
Если кому интересно решение то:
Создал node-mytype.tpl.php и в нем блок вывода контента

<?php
print $content;
?>

заменил на

<?php
    
<div class="content clear-block">
    <?
php
    
function _leadZero($num) {
        if(
strlen($num) <= 1) {
            return 
"0".$num;
        } else {
            return 
$num;
        }
    }
           print 
$node->content['image_attach']['#value'];
        print 
$node->content['body']['#value'];
        
        
$day _leadZero($node->content['field_day']['field']['items'][0]['#item']['value']);
        
$month _leadZero($node->content['field_month']['field']['items'][0]['#item']['value']);
        
$year $node->content['field_year']['field']['items'][0]['#item']['value'];
        
$hour _leadZero($node->content['field_hour']['field']['items'][0]['#item']['value']);
        
$minute _leadZero($node->content['field_minute']['field']['items'][0]['#item']['value']);
        
        print 
'<div class="action-date">'."\r\n";
        print 
'<b>Дата проведения </b>';
        print 
$day."-".$month."-".$year." ".$hour.":".$minute;
        print 
'</div>';
    
?>
  </div>
?>

Странно то что вчера делал то же самое, но это НЕ РАБОТАЛО на главной а работало только при просмотре непосредственно ноды. Все таки странная вещь этот друпал.