Finalement, mon client a exigé que je garde les images sur la même page.
J'ai donc adapté la solution proposée par le squelette de
l’Autre Net, hébergeur associatif autogéré. En fait, cette astuce aurait pu être
utile pour des affichages sur une page pop-up aussi. ![]()
Merci beaucoup à ceux qui ont conçu cette solution et à ceux qui ont répondu
à ma question! Un gros merci particulier à Fil, même si je n'ai pas pu
utiliser la solution qu'il m'avait proposé.
Pour ceux qui sont curieux de savoir de quelle astuce il s'agit :
Le squelette de couac.org utilise le critère de sélection {debut_image,1}
avec le paramètre " debut_image=XX " dans le Url pour identifier le document
a afficher. (ex. : article.php3?id_article=23&debut_image=5}
Ce critère est ensuite récupéré dans une boucle (DOCUMENTS) avec le filtre
{debut_image,1}. Ici, " debut_image " n'est pas un critère Spip mais
seulement une variable contenant le chiffre spécifié dans le URL. J'imagine
que n'importe quel mot aurait pu faire l'affaire.
Dans le critère {debut_image,1}, la variable " debut_image " représente le
numéro du document dans la liste des document (ex. 1 = premier document de
la liste). Elle est ensuite suivi du nombre de documents à afficher à partir
de ce numéro, donc un seul dans ce cas.
Pour identifier le numéro du document dans l'ordre des documents liés, une
astuce PHP à l'intérieur d'une boucle DOCUMENT a été nécessaire pour compter
les documents liés et leur attribuer leur numéro. D'autres codes php sont
utilisés pour créer des liens indiquant l'image à afficher, incluant les
images précédentes et suivantes.
En guise d'exemple pratique, voici une boucle qui affiche l'image courante
avec un lien vers l'image suivante :
<BOUCLE_diaporama(DOCUMENTS){id_article}{par num titre}
{extension==jpg|png|gif}{mode=document}{debut_image,1}>
<BOUCLE_nb_images(DOCUMENTS){id_article}{extension==jpg|png|gif}{mode=docume
nt}>
<?php
// récupération du nombre total
// d'images attachées à l'article,
// dans une variable PHP
$nb_images = "#TOTAL_BOUCLE";
?>
</BOUCLE_nb_images>
<?php
// pour passer d'une image à l'autre
// avec affichage du num. de l'image
// par rapport au nombre total.
$num_image = $debut_image + 1;
// calcul des num. d'image suivante et précédente
if ($debut_image == $nb_images-1){
$im_suiv = 0;
}else{
$im_suiv = $debut_image + 1;
}
if ($debut_image == 0){
$im_prec = $nb_images-1;
}else{
$im_prec = $debut_image - 1;
}
?>
<!-- affichage de la première image de la liste, avec lien vers la suivante
dessus -->
<div align="center"> <a
href="album.php3?id_article=#ID_ARTICLE&debut_image=<?php echo $im_suiv ?>"
title="Image suivante"><img src="#URL_DOCUMENT" width="#LARGEUR"
height="#HAUTEUR" border="0" class="spip_logos" tag="Image suivante" ></a>
</div> <!-- affichage du titre et descriptif de l'image jointe -->
<div class="texte_trait_bas"></div></BOUCLE_diaporama>
En tout cas, je suis très heureux d'avoir déniché cette astuce. J'espère que
l'explication que j'en ai fait sera utile à d'autres. ![]()
Cordialement,
Thierry Gagnon
http://thierrygagnon.com/
-----Message d'origine-----
De : Fil [mailto:fil@rezo.net]
Envoyé : 23 octobre, 2003 15:21
À : Thierry Gagnon
Objet : Re: [Spip] Spécifier un document dans une nouvelle page
Excellent
@ Thierry Gagnon <info@thierrygagnon.com> :
D'accord. Je veux bien essayer.
Thierry Gagnon
http://thierrygagnon.com/-----Message d'origine-----
De : Fil [mailto:fil@rezo.net]
Envoyé : 23 octobre, 2003 12:02
À : Thierry Gagnon
Objet : Re: [Spip] Spécifier un document dans une nouvelle pageC'est pas compliqué de t'envoyer le squelette, mais je ne peux pas te
donner
les éléments graphiques ; et je n'ai pas le temps de les enlever
Dnoc si je te les donne (en privé), je demande que tu reverses le
résultat,
expurgé des aspects graphiques, dans le site des contribs ou sur la liste.
Ca te va ?
@ Thierry Gagnon <info@thierrygagnon.com> :
> Ah ouais! Ça c'est super !
>
> Si c'est compliqué de dénicher le squelette, une simple explication du
> principe seras peut-être suffisante.
>
> PS : Dans le pop-up, sur IE 6 pour PC, on ne peut voir le bas de la
fenêtre
> pop-up et il n'y a pas de barre de défilement pour compenser.
>
> Cordialement,
>
> Thierry Gagnon
> http://thierrygagnon.com/
>
> -----Message d'origine-----
> De : spip-bounces@rezo.net [mailto:spip-bounces@rezo.net]De la part de
Fil
> Envoyé : 23 octobre, 2003 05:00
> À : Thierry Gagnon
> Cc : Spip (Utilisateurs)
> Objet : Re: [Spip] Spécifier un document dans une nouvelle page
>
> @ Thierry Gagnon <info@thierrygagnon.com> :
> > J'aimerais afficher un document dans sa propre page (ex. pop-up). J'ai
vu
> > une solution qui utilise javascript, mais j'aimerais savoir si il est
> > possible de spécifier un document précis en utilisant le language
Spip.
>
> Tu penses à ça ? (Clic sur la photo "manipulation")
> Hugo Chávez sauvé par le peuple, par Maurice Lemoine (Le Monde diplomatique, mai 2002)
>
> Si oui je peux te faire suivre le squelette, charge à toi (ou à
quelqu'un
> d'autre) de le "dé-diploïser" (d'enlever le graphisme spécifique du
journal,
> en gardant les boucles) pour le mettre sur spip_contrib -- je n'ai pas
le
> temps, et je ne vois pas comment je le trouverais en ce moment... ;-(
>
> Soyons fou : cette proposition est valable pour tous les squelettes du
Monde
> diplomatique.
>
> -- Fil
>
> _______________________________________________
> liste spip
> spip@rezo.net - désabonnement : spip-off@rezo.net
> Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
> Documentation de SPIP : http://www.spip.net/-- Fil
-- Fil