[ DRUPAL ] N’afficher qu’une seule image dans une grid view

Il a fallu qu’avec Drupal je fasse une view sous forme de Grid et que je n’affiche qu’une seule image du champ image où il pouvait y en avoir plusieurs.

La solution est venu de ce post : http://www.mbarrick.com/mbarrick.com/blog.nsf/dx/showing-only-the-first-image-in-the-teaser-for-a-drupal-7-image-field.htm

Donc il suffit de créer le fichier  « drupal/themes/mon_theme/templates/field–field_image.tpl.php » et d’y mettre

<div <?php print $attributes; ?>>
    <?php if (!$label_hidden) : ?>
        <div <?php print $title_attributes; ?>><?php print $label ?>:&amp;nbsp;</div>
    <?php endif; ?>
    <div <?php print $content_attributes; ?>>
    <?php if ($element['#view_mode']=="teaser") { ?>
        <div <?php print $item_attributes[0]; ?>><?php print render($items[0]); ?></div>
    <?php } else { ?>
        <?php foreach ($items as $delta => $item) : ?>
            <div <?php print $item_attributes[$delta]; ?>><?php print render($item); ?></div>
        <?php endforeach; ?>
    <?php } ?>
    </div>
</div>

Sauf que pour que ça fonctionne, il faut que votre champ s’appelle field_image et personnellement j’avais mis field_photo, donc pas de changement. Une fois le bon nom de fichier corrigé. On vide le cache, et hop ça marche !