Тизер галереи Drupal 7 - PullRequest
       4

Тизер галереи Drupal 7

1 голос
/ 07 февраля 2011

Я создал простую галерею в Drupal, используя пользовательский тип контента.На самом деле это просто статья с полем изображения, которое может содержать неограниченное количество элементов.Я создал собственный шаблон для этого типа контента (node ​​- gallery.tpl.php), и для полной страницы я доволен внешним видом.

Одна вещь, на которой я застрял, это отображение только первых нескольких изображений в тизере.Я хочу отобразить только первый ряд изображений в тизере (это первые 3 изображения).В файле шаблона $content['field_images'] содержит все изображения для галереи, но print render($content['field_images'] выводит все изображения (как я и ожидал).

Итак, как мне заставить Drupal просто вывести первые три элементаот $content['field_images']?Мне было бы интересно узнать, как заставить Drupal выводить 3 случайных изображения, хотя, если я знаю, как сократить количество отображаемых изображений, я уверен, что смогу решить это самостоятельно.

Ответы [ 2 ]

2 голосов
/ 31 марта 2011

Вместо выполнения var_dump или итерации по массиву, почему бы не установить модуль devel и использовать его функцию dpm (), которая дает хороший результат

1 голос
/ 07 февраля 2011

В вашем шаблоне найдите подходящую структуру массива с именами файлов изображений. Если вы не можете найти его в $content, посмотрите на вывод var_dump $node. Напишите цикл for, чтобы перебрать первые три элемента, и для каждого из этих элементов вызовите либо theme_image () , либо, если у вас есть стили изображений, которые вы хотите использовать, theme_image_style (), Передайте в соответствующий массив конфигурации либо имя файла, которое вы получили из массива.

...