Immagine con valori multipli
ciao a tutti,
sto sviluppando un sito in Drupal. Ho creato un tipo di contenuto all'interno del quale si possono caricare immagini con valori multipli.
uso i moduli imagefield, imagecache, lightbox. Mi piacerebbe che sul nodo apparisse solo la prima immagine e poi abilitare una gallery con lightbox che mostri tutte le immagini del nodo... è possibile?
Per ora sono a questo punto: ho nascosto le immagini dal nodo e pensavo di creare tramite views un blocco (da mostrare solo su alcune pagine) nel quale inserire solo il primo valore delle immagini riferite al nodo che viene mostrato. Il problema è che non so come si faccia! :D qualcuno può aiutarmi?
oppure, qualcuno ha altre idee?
grazie mille!
joey

Risposte
Dunque dunque: modificando
Dunque dunque:
modificando il modulo cck ed in particolare il file content-views.inc, ho fatto in modo che le immagini mostrate nella vista ottengano un identificativo unico del tipo "field-item-0", "field-item-1", ecc... Ecco la nuova funzione (riga 200):
function theme_content_view_multiple_field($items, $field, $data) {$i=0;
foreach ($items as $item) {//adds an item id to the class
if (!empty($item) || $item == '0') {
$output .= '<div class="field-item-'.$i.'">'. $item .'</div>';
$i++;
}
}
return $output;
}
in questo modo con il css nascondo le immagini successive alla prima dalle views. Inoltre ho modificato lightbox2 per fare in modo che le immagini vengano raggruppate in base all'id del nodo (altrimenti clickando su ogni immagine avrei ottenuto una slideshow generale che mostrava tutte le immagini della pagina.)
Il file lightbox2.module, quindi, a riga 1879, la funzione theme_imagefield_image_imagecache_lightbox2 diventa così:
// Set up the rel attribute.$imagefield_grouping = variable_get('lightbox2_imagefield_group_node_id', 1);
if ($imagefield_grouping == 1) { //groups in the same slideshow images from the same node.
$rel = $rel .'['. $field['field_name'] .$item['nid'].']['. $caption .']';
}
e per le views sono a posto... per ora nel singolo nodo ho creato un altro preset di imagecache e mostro tutte le immagini del nodo ridimensionate.
joey