Вывод одного (первого) изображения в анонсе (тизере)

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

Аватар пользователя Reisor Reisor 9 июля 2018 в 21:58

Вечер добрый. Как на вывести только одно изображение в анонсе. Анонсы представлены полями, у ноды загружается несколько картинок, и в анонсе все они показываются. Пробовал модуль Image Delta Formatter - он работает, но только почему то в полном просмотре типа материала, а в анонсе не работает.
Модуль Field multiple limit - я так понял он может, но на 8 его нет((((

Комментарии

Аватар пользователя Olegars Olegars 10 июля 2018 в 0:08

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'] == 'node_teaser') break;  //Если тизер(анонс) то прерываем ?>
    <?php endforeach; ?>
  </div>
</div>
Аватар пользователя Reisor Reisor 10 июля 2018 в 1:12

VasyOK wrote:

Выводите анонсы через views.


они через views и идут. в прошлом посте спрашивал про твиг, редактировал шаблоны views

Аватар пользователя Reisor Reisor 10 июля 2018 в 1:13

Olegars wrote:

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'] == 'node_teaser') break;  //Если тизер(анонс) то прерываем ?>

    <?php endforeach; ?>

  </div>

</div>


насколько я понял это для 7 версии друпала, в 8 версии друпала вроде по другому нужно код писать. Эх, будем мучаться))) но спасибо за ответы!

Аватар пользователя Reisor Reisor 10 июля 2018 в 12:38

Вывожу 3 представления, везде неформатированный список, отображаю поля.
Попробовал отобразить анонсы, с модулем Image Delta Formatter - вроде бы все получилось, css проверить и если все ок, то можно оставлять. VasyOK - благодарю за подсказку - если можно, хотелось бы связаться с вами.

Аватар пользователя VasyOK VasyOK 10 июля 2018 в 14:19

"отображаю поля" и в настройках поля изображения есть что-то типа "Множественные значения" показывать 1шт. Раз хочеться - связывайтесь. Пишите в личку.