martes, 28 de julio de 2009

Como crear SlideShows en Drupal - (Secuencias ánimadas de imágenes o contenidos)

Algunos de los portales desarrollados actualmente, y en especial aquellos que están orientados a la publicación de noticias, han incluido en sus diseños elementos llamados SlideShows.

Un Slideshow es una transición animada de imágenes o textos, que se ha orientado principalmente a destacar contenidos relevantes y que funcionalmente permite al usuario la lectura de varios contenidos sin necesidad de llevar a cabo una recarga de la página. Entre los portales que tienen SlideShows en sus páginas principales podemos nombrar algunos como CaracolTV, ColombiaTravel, Revista Shock entre otros.

Esta es una imagen de un SlideShow empleado en el portal de MTV Uk

Slideshow empleado en el portal de MTV Reino Unido mtv.uk
Si bien hay cientos de plugins e implementaciones en JavaScript para lograr lo deseado, integrar estos plugins con gestores de contenido puede resultar en una extensa tarea de investigación y programación. Para facilitarnos a todos el trabajo en un futuro (Tanto a quienes nunca han hecho una implementación de este tipo, como a los que la hemos hecho y olvidamos de que manera concreta lo solucionamos) recopilé una lista de los módulos y herramientas que ofrece Drupal para SlideShows y los ordené según mi criterio, nombrando desde las opciones más sencillas hasta las más robustas. Me limité a soluciones válidas para Drupal 6.
  1. Featured Content Slider: Provee un bloque al que se le pueden añadir nodos o contenidos creados previamente. Su implementación es rápida y su personalización se hace a través de hojas de estilo (CSS). Una de las limitantes que tiene es que no se puede determinar el orden en que aparecen los elementos de una manera sencilla. Además muestra todo el contenido del nodo (No permite configurar que campos se quieren recuperar).
  2. Slideshow: Una opción de sencilla configuración, convierte todas las imágenes adjuntadas a un contenido en elementos de un slideshow. Lamentablemente solo trabaja con imágenes.
  3. Views Slideshow: ImageFlow: Una excelente opción cuando se quieren por ejemplo mostrar imágenes a manera de galería. Provee un efecto estético muy agradable de zoom y una barra de desplazamiento en vez de botones (Al estilo del visor de carátulas de ITunes). Se integra con el módulo Views; para su implementación solo es necesario crear una vista que tenga campos de imagen y asignarle el estilo SlideShow - ImageFlow. Lamentablemente está orientado a la creación de galerías de imágenes únicamente.
  4. Front Page SlideShow: Es una opción flexible y configurable. Sin embargo exige el pago del Plugin FrontPageSlideshow (Valor 22€)
  5. Dinamic Display Block: Es la opción más robusta, configurable y flexible que encontré. Se integra con el módulo views de modo que tenemos absoluto control sobre los campos que aparecen, el orden en el que aparecen los elementos (En combinación con el módulo nodequeue) y ofrece muchos estilos de visualización, desde un simple slide con imágenes y selectores con números, hasta selectores con imágenes en miniatura y pequeñas descripciones. A cambio de su funcionalidad debes saber que tienes que generar funciones de preprocesado en las plantillas que estés utilziando y dedicarle como mínimo unas dos horas de investigación. Ofrecen tutoriales en la web del autor que describen como hacer slideshows sencillos y avanzados, incluso hay video tutoriales. Es la opción más cercana a lograr un slideshow como el de MTV Uk que puse al inicio de este post.
Finalmente vale mencionar que sea cual sea la solución que se elija, viene bien tomar en cuenta si vale la pena generar un Slideshow para el sitio; al fin y al cabo emplea JavaScript y obliga a que en la recarga se traigan muchos más contenidos, se realicen muchas más consultas y por ende el usuario deba esperar un poco más de tiempo antes de navegar el sitio.