Como hacer una galería de imágenes sin usar Views

Me gusta mucho el módulo Views, en serio, es flexible, potente, y con un par de clics (bueno un par de clics es un decir...) se pueden hacer cosas muy útiles.

Pero a veces no necesitamos Views, ya sea porque tenemos un conflicto de la niñez no resuelto, o porque los requisitos del sistema así lo indican, o por performance o por lo que sea, a veces no podemos usar Views.

Y aunque ahora este incluido en Drupal 8 sigue habiendo otras alternativas para armar listados. Veamos entonces como podemos armar una galería de imágenes sin usar views.

Formatters, que... ¿había más?

Cuando uno se inicia en esto de Drupal, hay muchas cosas que asume como fijas y no personalizables. Por ejemplo, creamos un tipo de contenido, le agregamos algunos campos, y esos campos se pueden mostrar con algunas opciones.

Hay más formatters que los que provee drupal por defecto

Drupal tiene módulos para todo, sí para todo, de hecho hay una página que se llama "hay un módulo para eso" pero esa es otra historia.

Entre todos los módulos que hay disponibles para Drupal, tenemos algunos que proveen formatters. Los formatters son formas de mostrar un campo, así como los Widgets son el tipo de formulario que el usuario va a ver cuando ingrese el valor, los formatters permiten especificar como se va a mostrar dicho campo.

Como suele suceder, muchas cosas que deberían ser parte del núcleo de Drupal, han quedado afuera del release por falta de tiempo, esfuerzo o discusiones eternas, y viven en algún módulo contrib. Tal es el caso de Field Formatter Settings, un módulo que nos permite configurar opciones para un formatter.

Instalado este complemento podemos ahora instalar Field Multiple Limit y Grid Field Formatter que en líneas generales permiten definir cuantos valores y de que forma (en grilla en este caso) se van a mostrar los elementos del campo en cuestión.

Basta de cháchara, dame la receta

Entonces, para crear una galería de imágenes sin usar views vamos a necesitar:

Instalamos los cuatro módulos. Y creamos nuestro tipo de contenido Galería al cual le agregamos un campo de tipo Imagen (necesitamos tener activado el módulo image que viene en el núcleo de Drupal).

En admin/config/content/grid-field-formatter indicamos que queremos que esté disponible el Grid Formatter para nuestro campo de imágenes.

Activar el formatter grid para el campo imagen

Después, en las opciones de presentación de nuestro campo de imagen configuramos el sistema para mostrar el campo imagen utilizando el formatter Grid, en donde cada imagen será mostrada con el módulo Colorbox.

La siguiente figura resume todo este embrollo.

Configuración del formatter Grid

Para saber más sobre como configurar los tamaños de las imágenes, recomiendo leer Gestión básica de imágenes en Drupal 7.

Por último, en la pestaña resumen, podemos decirle a Drupal que queremos mostrar sólo la primera imagen en forma de miniatura, con esto logramos que cuando una galería de imágenes esté promocionada en la página principal, sólo se muestre una de las N imágenes que posea.

Configurar el teaser para mostrar solo una imagen

Cuatro módulos para evitar usar views... ¿vale la pena?

Depende. Muchos módulos no necesariamente significa mucha carga. Los módulos elegidos tienen muy poco impacto sobre el sistema, y sus tamaños sumados no superan el del paquete views (que requiere CTools). Por otro lado, colorbox es opcional y puede ser usado tanto con como sin views.

Por último, la buena noticia es que en Drupal 8, field_formatter_settings es parte del núcleo.

Te invito a leer también...

Compartir este material en...

Comentarios

Una forma más simple es configurar las imágenes para ser mostradas como square thumbnail y en el css ponerles float, encuadrando todo en un field group para correcto text flow (o clear:both). Y usas el mismo Colorbox, etc. Esto te ahorra usar módulos extras y lograr la misma funcionalidad de grid en una minigalería dentro del contenido (se mostrarán tantas columnas como quepan).

Mira por ejemplo http://www.relief20.com/photobook o http://www.relief20.com/photobook/disaster/ishinomaki/2011/march o http://www.relief20.com/photobook/nankaen usando lo arriba descrito.

Si bien es cierto lo que planteas no creo que sea posible realizar la segunda parte del artículo, me refiero a a mostrar sólo la primer imagen de la galería en el teaser, sin hacer uso de un modulo extra o re-escribir el template del teaser.

De todas formas, muchas gracias por tu comentario, pues puede orientar a otros que no quieran usar módulos extras y tengan conocimientos de CSS y modificación de themes en Drupal.

Saludos!

Gracias por la información.

Añadir nuevo comentario