1 изображение для анонса. как? (РЕШЕНО)

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

Аватар пользователя abix abix 27 апреля 2011 в 16:13

Заполняю ноду, креплю к ней несколько изображений, как сделать чтобы при просмотре анонса отображалось только 1 изображение, а при полном просмотре все?
Сейчас и там и там показываются все!

Комментарии

Аватар пользователя abix abix 27 апреля 2011 в 16:35

Через вьюху не вариант, создавать ее отдельно для каждого типа матириалов, а их более 50 и в каждом по 5-10 полей пробивать, уж очень громоздко.
Может можно как-то через препроцесс порезать?

Аватар пользователя Darteg Darteg 27 апреля 2011 в 17:02

Сделай ещё одно поле специально для картинки, которая характеризует твой материал. В настройке отображения полей ставишь в тизере только это поле показаннным, а по умолчанию всё показанным. Как-то так, может сработать.

В видах не обязательно делать вывод по типам материала, можно полями, и не надо для каждого типа свой вид создавать. Если все материалы в одно место выводит, то можно попробовать выбрать поле содержимое и отметить все материалы.

Аватар пользователя abix abix 28 апреля 2011 в 12:01

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

Аватар пользователя abix abix 2 мая 2011 в 16:25

В шаблоне создаем файл с именем "field--image.tpl.php"
и код:

<div class="<?php print $classes; ?>"<?php print $attributes; ?>>
  <?php if (!$label_hidden) : ?>
    <div class="field-label"<?php print $title_attributes; ?>><span><?php print $label ?>:&nbsp;</span></div>
  <?php endif; ?>
  <div class="field-items"<?php print $content_attributes; ?>>
    <?php foreach ($items as $delta => $item) : ?>
      <div class="field-item <?php print $delta % 2 ? 'odd' : 'even'; ?>"<?php print $item_attributes[$delta]; ?>><?php print render($item); ?></div>
          <?php if ($element['#view_mode'] == 'teaser') break;  //Если тизер(анонс) то прерываем ?>
    <?php endforeach; ?>
  </div>
</div>