Galerie photo

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

J'ai installé le module IMAGE pour drupal dans le but de faire un upload et de pouvoir faire une galerie apres, pour visualiser des groupes d'images avec description en thumbs j'utilise un views et ca marche. Pourtant je veux aussi afficher les images grandes avec les boutons précédent-suivant, quelqu'un a t-il une idée ou bien y a t-il un module mour le faire?

Merci d'avance,

Aina

Version de Drupal : 

Sur rouen.fr, j'utilise le module image_gallery qui est livré avec le module image (http://www.rouen.fr/galerie).

Pour obtenir un lien "Précédent", j'utilise le code ci-dessous :

<?php
if(arg(0)=='node' and is_numeric(arg(1)) and arg(2)=='') {
 
$current_nid=arg(1);
 
$type='image';
 
$node=node_load($current_nid);

 
reset($node->taxonomy);
 
$taxonomy=current($node->taxonomy);
 
$tid=$taxonomy->tid;

 
$req="SELECT n.nid FROM {node} n
        INNER JOIN {term_node} t ON n.nid = t.nid
        INNER JOIN {term_data} r ON t.tid = r.tid
        WHERE n.type = '"
.$type."'
        AND   n.nid <
$current_nid
        AND   r.tid  =
$tid
        AND   n.status = 1
        ORDER BY n.nid DESC
        LIMIT 1"
;

 
$res=db_query($req);
 
$node=db_fetch_array($res);

  if(!
$node) return;

 
$prev_nid=$node['nid'];
 
$prev=node_load($prev_nid);

 
$out ='';
 
$out.='<div class="img-prec">';
 
$out.=l(image_display($prev,'thumbnail'),'node/'.$prev_nid,array(),NULL,NULL,FALSE,TRUE);
 
$out.='</div>';

  return
$out;
}
?>

Pour obtenir un lien "Suivant", j'utilise le code ci-dessous :

<?php
if(arg(0)=='node' and is_numeric(arg(1)) and arg(2)=='') {
 
$current_nid=arg(1);
 
$current_node=node_load($current_nid);

 
reset($current_node->taxonomy);
 
$taxonomy=current($current_node->taxonomy);
 
$tid=$taxonomy->tid;

 
$req="SELECT n.nid FROM {node} n
        INNER JOIN {term_node} t ON n.nid = t.nid
        INNER JOIN {term_data} r ON t.tid = r.tid
        WHERE n.type = 'image'
        AND   n.nid >
$current_nid
        AND   r.tid  =
$tid
        AND   n.status = 1
        ORDER BY n.nid ASC
        LIMIT 1"
;

 
$res=db_query($req);
 
$node=db_fetch_array($res);

  if(!
$node) return;

 
$next_nid=$node['nid'];
 
$next=node_load($next_nid);

 
$out ='';
 
$out.='<div class="img-suiv">';
 
$out.=l(image_display($next,'thumbnail'),'node/'.$next_nid,array(),NULL,NULL,FALSE,TRUE);
 
$out.='</div>';

  return
$out;
}
?>

Ces 2 morceaux de code sont à placer dans des blocs disposés judicieusement sur la page et visible uniquement sur image/*.