Creazione di slideshow e caroselli jQuery in Drupal 7. Parte 2
Nella parte precedente della lezione abbiamo creato uno slideshow; nel mio caso, mostrava i dipendenti di un’organizzazione, ma tu potresti utilizzarlo, ad esempio, come banner nella testata del sito. Tuttavia, la soluzione predefinita non mi soddisfa: vorrei aggiungere dei pulsanti per passare al precedente e al successivo slide. Questo dà un aspetto molto più curato rispetto ai semplici link testuali o numerici di navigazione.
Ricordo che abbiamo già installato i moduli Views e Views Slideshow.
Bene, ho allegato alcune immagini di frecce: usiamole per il nostro slideshow. Prima di tutto, dobbiamo aggiungere un controllo di navigazione testuale per i pulsanti dello slideshow.
Ora il nostro slideshow deve mostrare i controlli “Next” (successivo) e “Previous” (precedente).
L’idea è di usare il CSS per aggiungere un’immagine di sfondo ai link “next” e “previous” e posizionarli nel punto desiderato all’interno del layout.
Per lavorare in modo più comodo, useremo un’estensione per Firefox chiamata Firebug, che fornisce ottimi strumenti per l’analisi e la modifica del CSS. Ecco come appare il blocco dei link di navigazione visto con Firebug:
Ci interessano gli attributi id
degli elementi: sono quelli che useremo per definire gli stili CSS. Inoltre, ci serviranno le immagini delle frecce: copiale nella cartella images
del tuo tema.
Dopo aver copiato i file delle frecce nella cartella images
del tema, apriamo il file style.css
e aggiungiamo il seguente codice. I valori possono essere adattati al layout del tuo tema.
a#views_slideshow_singleframe_prev_view_slideshow-block_1 { background: url('images/left.png'); /* immagine della freccia sinistra */ width: 30px; /* larghezza della freccia */ height: 0px; /* altezza impostata a 0 */ padding-top: 30px; /* crea spazio equivalente alla larghezza */ position: relative; /* posizione del link */ top: 0px; /* distanza dal bordo superiore del blocco */ overflow: hidden; z-index: 5; /* posiziona il link sopra lo slideshow */ display: block; /* visualizza come blocco */ }
Il selettore a
rappresenta un tag di link, mentre #
indica che ci riferiamo a un elemento tramite il suo id
.
Il CSS per la freccia “next” sarà simile, con piccole differenze:
a#views_slideshow_singleframe_next_view_slideshow-block_1 { background: url('images/right.png'); width: 30px; height: 0px; padding-top: 30px; position: relative; top: 0px; left: 30px; overflow: hidden; z-index: 5; display: block; }
Il link “pausa” può essere nascosto completamente:
a#views_slideshow_singleframe_playpause_view_slideshow-block_1 { display: none; }
I valori di padding
e position
possono essere regolati facilmente in tempo reale tramite Firebug e poi copiati nel file style.css
. Alla fine, il mio CSS risulta così:
#views_slideshow_singleframe_prev_view_slideshow-block_1 { background: url('images/left.png'); width: 35px; height: 0px; padding-top: 26px; position: relative; top: -55px; overflow: hidden; z-index: 5; display: block; } #views_slideshow_singleframe_next_view_slideshow-block_1 { background: url('images/right.png'); width: 35px; height: 0px; padding-top: 26px; position: relative; top: 0px; left: 0px; overflow: hidden; z-index: 5; display: block; } a#views_slideshow_singleframe_playpause_view_slideshow-block_1 { display: none; } #views_slideshow_singleframe_controls_view_slideshow-block_1 { height: 0px; }
Il banner è pronto! Nella prossima parte della lezione creeremo una carosello jQuery.