Imagen de karlos

jQuery Cycle en drupal es como el jamón en la trucha a la navarra

Hace tiempo que no me pasaba por esta cocina, es lo malo que tiene ser un profesional (en el sentido de que te contratan) y es que tienes ir a las cocinas de otros.

El titulo tiene su gracia ya que soy vegetariano, pero se que el jamón de la trucha a la navarra es el punto gracioso, salado y sabroso. También tiene sus riesgos, no es lo mismo un jamón que un JAMÓN, osea que si eres un poco cutre y metes un jamón cutre la trucha quedara cutre. Con jQuery y sus plugins puede pasar algo del estilo, si te pasas el plato de drupal pude indigestar a más de uno.

JQuery cycle es una joya que permite hacer ciclos entre elementos diferentes de nuestro html, de una forma muy sencilla.


Esta es la web de plugin: http://malsup.com/jquery/cycle
El proyecto en jquery.com:
http://plugins.jquery.com/project/cycle

Con este plugin se pueden hacer de forma muy sencilla presentaciones con imágenes y permite un control total en los efectos, eventos y tiempos.

Para que esto funcione en drupal necesitamos varios ingredientes, jquery_upate, jquery_plugin.

http://drupal.org/project/jquery_update Este modulo permite tener una versión más actualizada del jquery en nuestro drupal, la instalación es sencilla pero en la versión de drupal 5 tiene un punto un tanto raro, una vez descargado y descomprimido el modulo hay un directorio misc con una serie de ficheros .js copiar estos ficheros al directorio misc de nuestro drupal.

http://drupal.org/project/jquery_plugin Este modulo es muy sencillo, nos permite añadir plugin de jquery en nuestros módulos de una forma muy sencilla incluso en el módulo hay unos plugins para probar, entre ellos el cycle.

Un posible resultado lo podemos aquí:

Este seria el html con el div donde colocamos las imágenes (este ejemplo esta sacado de aquí )

<div class="pics"> 
    <img src="/images/beach1.jpg" width="200" height="200" /> 
    <img src="/images/beach2.jpg" width="200" height="200" /> 
    <img src="/images/beach3.jpg" width="200" height="200" /> 
</div>

Esta sería la cascada de estilo que le añade un efecto de tipo marco
.pics {  
    height:  232px;  
    width:   232px;  
    padding: 0px;  
    margin:  0px;  
} 
 
.pics img {  
    padding: 15px;  
    border:  1px solid #ccc;  
    background-color: #eee;  
    width:  200px; 
    height: 200px; 
    top:  0px; 
    left: 0px;
}
Ahora tenemos que añadir el plugin a drupal, para eso como hemos comentado tenemos el módulo jquer_plugin este modulo nos provee de esta función:
jquery_plugin_add($plugin)<br>

Sencillo, como particularidad este modulo solo permite plugin comprimidos de tipo "min" osea que si queremos añadir el clycle tendremos que tener este fichero "jquery.cycle.min.js quedando la cosa así:
 jquery_plugin_add('cycle');

Esta llamada la tendremos que hacer desde un módulo propio o lugar similar :)

Pero con esto solo hemos añadido el plugin para que cuando cargue drupal lo añada con el resto de scripts ahora necesitamos crear el efecto en relación a nuestro conjunto de elementos en este caso las imagenes que están en el div con la clase .pics. Para esto yo me he creado un seudoplugin con el nombre jquery.imagenes.min.js y e el he añadido esto:
$(document).ready(function() {
$('.pics').cycle({
    fx: 'fade'
 });
});

Ahora tendré esto jquery_plugin_add('cycle'); mas esto jquery_plugin_add('imagenes');

Es un método un tanto artesanal además tenemos un modulo slideshow_creator que también se basa en el cycle, pero a mi me resulto excesivo para según que situaciones. Además usando el modulo jquer_plugin nos permite tener una técnica para incorporara mas plugins de jQuery a nuestro drupal

Espero que os guste este plato, y si ya se que tengo pendiente varias partes del tutorial de jquery y drupal, llegara seguro que llegara.

Comentarios

GRACIAS

Muchas gracias, sabes soy una principiante en esto de JQUERY pero ha sido sencillo hacer esto, para lo que necesito es mas que suficiente. Muchas gracias