Galleria immagini ajax

9 contenuti / 0 new
Ultimo contenuto
Galleria immagini ajax

Come faccio a creare una galleria immagini come questa?

http://hturkey.ru/prodaja/alanya/kvartiry/140

C'è un modulo che lo possa fare? Scusate ma non riesco a capire come si chiama questo tipo di galleria che pure è molto diffusa per poterla cercare tra i moduli o tra i forum. Potreste quindi dirmi anche il nome (esempi: carousel, slideshow, accordion)

Dando uno sguardo al codice mi sembra una semplice composizione HTML + Javascript che fa uso della funzione changeImage:

function changeImage(img) {
  document.getElementById('picture').src = img
}

Quindi le varie immagini sono così disposte:

<div class="pimages"><div class="iprim"><img id="picture" src="http://hturkey.ru/files/obj/15/1_1200918192.jpg" /></div>
<a href="javascript:changeImage('http://hturkey.ru/files/obj/15/1_1200918192.jpg');"><img src="http://hturkey.ru/files/obj/15/1_1200918192_thumbnail.jpg"  width="113" height="85" /></a>
<a href="javascript:changeImage('http://hturkey.ru/files/obj/15/3_1200918216.jpg');"><img src="http://hturkey.ru/files/obj/15/3_1200918216_thumbnail.jpg"  width="113" height="85" /></a>
....

Ho tolto i tag title e alt per semplificare il tutto comunque se ti piace questa soluzione puoi ottenerla personalizzando la visualizzazione dei campi CCK image creando un nuovo tipo di contenuto con questi elementi e riscrivendo la parte relativa al tema.

Quindi non esistono moduli gia pronti?

Mi sembra che tale modulo ci fosse, ma non sono riuscito a ritrovartelo.
Come alternativa puoi provare se ti va bene http://drupal.org/project/flash_gallery che da un risultato simile apprezzabile.
(Ma richiede flash, guarda http://www.endymios.com/fgallery/8 per una dimostrazione)

Avevo gia visto quella galleria ma io cercavo proprio un'implementazione javascript. Di fare come mi ha consigliato Thecrow però non saprei da dove iniziare...

TheCrow wrote:
se ti piace questa soluzione puoi ottenerla personalizzando la visualizzazione dei campi CCK image creando un nuovo tipo di contenuto con questi elementi e riscrivendo la parte relativa al tema.

Grazie alle dritte di The Crow sono riuscito a creare una galleria con HTML + JavaScript e a temizzare il nodo relativo. Ma non ho capito come usare CCK. Se inserisco manualmente i dati delle immagini ecc è tutto facile, ma mi piacerebbe poter caricare le immagini tramite CCK (il che non è un problema) e fare in modo che le immagini vengano riconosciute e caricate automaticamente dalla function changeImage(img) (che invece per me è un problema).

Per il theming delle immagini caricate con CCK uso il seguente codice preso da http://www.davidnewkerk.com/book/30 (per gli interessati il tutorial inizia qui http://www.davidnewkerk.com/book/18):

<div id="field_img" class="field-item">
    <?php foreach ((array)$field_img as $item) { ?>
        <div class="field-image"><?php print $item['view'] ?>
        </div>
     <?php } ?>
  </div>

Però non capisco come far interagire questo codice con la function changeImage(img).

Qualcuno ci ha provato e sa come fare?

Ciao e grazie

mmm guarda non c'ho provato, però se piazzi temporaneamente un

<?php
 print_r
($item);
?>
dopo la riga relativa al ciclo iterativo foreach dai uno sguardo a quale elemento dell'array associativo corrisponde il percorso dell'immagine, supponendo sia path:

</div>
<div class="pimages"><div class="iprim"><img id="picture" src="default.jpg" /></div>
<div id="field_img" class="field-item">
    <?php foreach ((array)$field_img as $item) { ?>
        <div class="field-image">
         <?php print '<a href="javascript:changeImage(\''. $item['path'] .'\')'theme('image', $item['path']) .'</a>'; ?>
        </div>
     <?php } ?>
  </div>

Per le altre opzioni guardati la funzione theme_image. Per fare il link non può essere usata la funzione l perché filtra javascript...

Cercando un po' tra i moduli ho trovato comicview un modulo in dev, dalla demo sembra funzionare e fa qualcosa di simile forse modificandolo o incorporando le istruzioni jquery in questa soluzione si fa qualcosa di più pulito :))

Grazie 1000 !!!

Mi fiondo a smanettare ;-)