selection"image suivante" et "précédente"

Bonsoir,
j’ai des galeries de photos qui sont portées chacune par un article en portfolio .

Chaque galerie est structurée toujours de la même façon 3 lignes de trois photos. On peut cliquer sur la vignette et on affiche alors le doc en grand, avec la possibilité soit de revenir à la galerie de vignettes, soit de continuer en avant ou en arière quand c’est possible sur de grandes images.

Pour laisser le choix au Webmestre de réorganiser l’ordre des vignettes, j’ai numéroté les titres avec 01, 02 etc… devant le titre a proprement parler.

Mon probleme est que, avec les lignes que j’ai écrites en spip, la navigation marche si on rentre les vignettes dans le porte folio dans l’ordre de leur affichage, mais des que cet ordre est bouleversé alors la navigation avant et arrière des grandes images commence à disfonctionner.

Voici les boucles de la page sirlgalleriegde sur laquelle s’affiche en grand la vignette sélectionnée et la navigation « image suivante » image précédente" et « retour galerie » :

<BOUCLE_vignettes1(DOCUMENTS){id_document}{mode=document}{extension==jpg|png|gif}>

[(#EMBED_DOCUMENT|inserer_attribut{‹ alt ›,#TITRE})]

[

(#TITRE|supprimer_numero)

][

(#DESCRIPTIF)

]

NAVIGATION AVANT

<BOUCLE_navigationavant(DOCUMENTS){titre!==.blanc$}{par num titre}{inverse}{titre<#TITRE}{id_article}{mode=document}{extension==jpg|png|gif}{0,1}>

<< Image précédente

</BOUCLE_navigationavant><//B_navigationavant>

RETOUR A LA GALERIE

RETOUR A LA GALERIE

NAVIGATION APRES

<BOUCLE_navigationapres(DOCUMENTS){titre!==.blanc$}{par num titre}{id_article}{mode=document}{extension==jpg|png|gif}>

[(#COMPTEUR_BOUCLE|<{#TOTAL_BOUCLE}|?{’ ‹ , ›’}) [(#TITRE|=={#_vignettes1:TITRE}|?{ Image suivante >>,’ '})]]

</BOUCLE_navigationapres><//B_navigationapres>

</BOUCLE_vignettes1>

Je ne me souviens plus pourquoi j’ai écrit sous cette forme le critère de test sur le titre [(#TITRE|=={#_vignettes1:TITRE}|?, mais toujours est-il que mon systeme fonctionne seulement si je rentre mes vignette dans l’ordre final que je souhaite avoir… il n’y a donc pas de prise en compte du rang par le numéro antécédent le véritable titre…

Le clic sur navigation après renvoit sur une page « sirlgalleriegdesv » a laquelle on passe l’id du doc, l’id de l’article et le rang de l’image sélectionnée via #compteur de boucle associé a « début affichage ».

voici les bouvles qui sont sur la page d’image suivante « sirlgalleriegdesv »:

<BOUCLE_vignettes1(DOCUMENTS){id_article}{mode=document}{extension==jpg|png|gif}{debut_affichage,1}>

[(#EMBED_DOCUMENT)]

[

(#TITRE|supprimer_numero)

][

(#DESCRIPTIF)

]

<BOUCLE_navigationavant(DOCUMENTS){titre!==.blanc$}{par num titre}{inverse}{titre<#TITRE}{id_article}{mode=document}{extension==jpg|png|gif}{0,1}>

<< Image précédente

</BOUCLE_navigationavant><//B_navigationavant>
RETOUR A LA GALERIE

<BOUCLE_navigationapres(DOCUMENTS){titre!==.blanc$}{par num titre}{id_article}{mode=document}{extension==jpg|png|gif}>
[(#COMPTEUR_BOUCLE|<{#TOTAL_BOUCLE}|?{’ ‹ , ›’}) [(#TITRE|=={#_vignettes1:TITRE}|?{ Image suivante >>,’ '})]]

</BOUCLE_navigationapres><//B_navigationapres>

</BOUCLE_vignettes1>


Est-ce que des spécialistes pourraient m’aider à débrouiller ma situation ?

Exemple visible ici :

galerie qui disfonctionne

http://60gp.ovh.net/~sirl/rubrique.php3?id_rubrique=2

galerie qui fonctionne (mais l’ordre est respecté dans la saisie)

http://60gp.ovh.net/~sirl/sirlgallerie4.php3?id_rubrique=19

Merci d’avance pour celles et ceux qui liront jusqu’au bout :wink:

Sarah

Bonsoir,
Sarah Calas wrote:

Bonsoir,
j'ai des galeries de photos qui sont portées chacune par un article en portfolio .

Chaque galerie est structurée toujours de la même façon 3 lignes de trois photos. On peut cliquer sur la vignette et on affiche alors le doc en grand, avec la possibilité soit de revenir à la galerie de vignettes, soit de continuer en avant ou en arière quand c'est possible sur de grandes images.

Pour laisser le choix au Webmestre de réorganiser l'ordre des vignettes, j'ai numéroté les titres avec 01, 02 etc... devant le titre a proprement parler.

Mon probleme est que, avec les lignes que j'ai écrites en spip, la navigation marche si on rentre les vignettes dans le porte folio dans l'ordre de leur affichage, mais des que cet ordre est bouleversé alors la navigation avant et arrière des grandes images commence à disfonctionner.

Bon, j'ai pas tout compris à tes extraits de squelettes, mais tu
pourrais adopter un principe identique à walma qui , finalement
n'identifie pas les documents par leur id_document directement mais
plutot par leur numéro d'ordre dans la suite ordonnée des documents
associés à l'article.
Ca donne des trucs du genre : (extrait)
<BOUCLE_walma_vignettes(DOCUMENTS){id_article}{mode=document}{extension==(png|jpg|gif)$}{#ENV{debut_vign,0},#ENV{nb,#_nbrevignettes:TOTAL_BOUCLE}}{par

titre}>
pour toi , l'idée serait d'avoir un paramètre d'url similaire à
debut_vign qui dit à la combientième image on est.

l'url en plein image deviendrait un truc comme:
sirlgallerie.php3?ordre_document=#COMPTEUR_BOUCLE&id_article=#ID_ARTICLE

l'image serait obtenue comme:
<BOUCLE_image(DOCUMENTS){id_article}{mode=document}{extension==(png|jpg|gif)$}{par num titre}{#ENV{ordre_document,0},1}>

Et la navigation serait très simple puisqu'il suffit de demander
sirlgallerie.php3?ordre_document=<?php echo #ENV{ordre_document,0} - 1; ?>&id_article=#ID_ARTICLE
pour précédent
ou + 1 pour suivant.

En fait, je fais ici une simplification , car il faut tenir compte du nombre total de document, c'est donc plutot du genre:
<?php echo ([(#ENV{ordre_document,0})] - 1) % 9; ?>
si tu as *toujours * 9 images (sinon il faut faire une boucle de comptage)
pareil pour + 1

C'est dommage , car ge ne crois pas que le filtre modulo soit applicable pour éviter le php ou alors peut-être (à creuser)
sirlgallerie.php3?ordre_document=(#ENV{ordre_document,0}|modulo{9,- 1)|modulo{9})&id_article=#ID_ARTICLE

Il y aurait d'autres mises en oeuvres possibles pour bien moins cher pour le serveur en utilisant du javascript.
Et il y a sans doute des solutions spip plus intégrée ... je ne sais pas

Bon ! C'est sans doute pas très clair tout ça ... j'espère que ça te fournira des pistes.
Bon courage
--
toggg

Voici les boucles de la page sirlgalleriegde sur laquelle s'affiche en grand la vignette sélectionnée et la navigation "image suivante" image précédente" et "retour galerie" :

<BOUCLE_vignettes1(DOCUMENTS){id_document}{mode=document}{extension==jpg|png|gif}>

<a href="sirlgallerie.php3?id_document=#ID_DOCUMENT&id_article=#ID_ARTICLE">[(#EMBED_DOCUMENT|inserer_attribut{'alt',#TITRE})]</a><br>
[<p>(#TITRE|supprimer_numero)<br></p>][<p class="descriptif">(#DESCRIPTIF)</p>]

NAVIGATION AVANT

<BOUCLE_navigationavant(DOCUMENTS){titre!==.blanc$}{par num titre}{inverse}{titre<#TITRE}{id_article}{mode=document}{extension==jpg|png|gif}{0,1}>

<a href="sirlgalleriegde.php3?id_document=#ID_DOCUMENT&id_article=#ID_ARTICLE"> << Image précédente</a>

</BOUCLE_navigationavant><//B_navigationavant>

RETOUR A LA GALERIE

<a href="sirlgallerie.php3?id_article=#ID_ARTICLE">RETOUR A LA GALERIE</a>

NAVIGATION APRES

<BOUCLE_navigationapres(DOCUMENTS){titre!==.blanc$}{par num titre}{id_article}{mode=document}{extension==jpg|png|gif}>

[(#COMPTEUR_BOUCLE|<{#TOTAL_BOUCLE}|?{' ',''}) [(#TITRE|=={#_vignettes1:TITRE}|?{<a href="sirlgalleriegdesv.php3?id_document=#ID_DOCUMENT&id_article=#ID_ARTICLE&debut_affichage=#COMPTEUR_BOUCLE"> Image suivante >></a>,' '})]]

</BOUCLE_navigationapres><//B_navigationapres>

</BOUCLE_vignettes1>

Je ne me souviens plus pourquoi j'ai écrit sous cette forme le critère de test sur le titre [(#TITRE|=={#_vignettes1:TITRE}|?, mais toujours est-il que mon systeme fonctionne seulement si je rentre mes vignette dans l'ordre final que je souhaite avoir... il n'y a donc pas de prise en compte du rang par le numéro antécédent le véritable titre...

Le clic sur navigation après renvoit sur une page "sirlgalleriegdesv" a laquelle on passe l'id du doc, l'id de l'article et le rang de l'image sélectionnée via #compteur de boucle associé a "début affichage".

voici les bouvles qui sont sur la page d'image suivante "sirlgalleriegdesv":

<BOUCLE_vignettes1(DOCUMENTS){id_article}{mode=document}{extension==jpg|png|gif}{debut_affichage,1}>

<a href="sirlgallerie.php3?id_document=#ID_DOCUMENT&id_article=#ID_ARTICLE">[(#EMBED_DOCUMENT)]</a><br>
[<p>(#TITRE|supprimer_numero)<br></p>][<p class="descriptif">(#DESCRIPTIF)</p>]

<BOUCLE_navigationavant(DOCUMENTS){titre!==.blanc$}{par num titre}{inverse}{titre<#TITRE}{id_article}{mode=document}{extension==jpg|png|gif}{0,1}>

<span class="navigation">

<a href="sirlgalleriegde.php3?id_document=#ID_DOCUMENT&id_article=#ID_ARTICLE"> << Image précédente</a>
</span>

</BOUCLE_navigationavant><//B_navigationavant>
<span class="navigation"><a href="sirlgallerie.php3?id_article=#ID_ARTICLE">RETOUR A LA GALERIE</a>
</span>
<BOUCLE_navigationapres(DOCUMENTS){titre!==.blanc$}{par num titre}{id_article}{mode=document}{extension==jpg|png|gif}>
<span class="navigation">[(#COMPTEUR_BOUCLE|<{#TOTAL_BOUCLE}|?{' ',''}) [(#TITRE|=={#_vignettes1:TITRE}|?{<a href="sirlgalleriegdesv.php3?id_document=#ID_DOCUMENT&id_article=#ID_ARTICLE&debut_affichage=#COMPTEUR_BOUCLE"> Image suivante >></a>,' '})]]

</span>

</BOUCLE_navigationapres><//B_navigationapres>

</BOUCLE_vignettes1>
</span>
<br>

Est-ce que des spécialistes pourraient m'aider à débrouiller ma situation ?

Exemple visible ici :

galerie qui disfonctionne

http://60gp.ovh.net/~sirl/rubrique.php3?id_rubrique=2

galerie qui fonctionne (mais l'ordre est respecté dans la saisie)

http://60gp.ovh.net/~sirl/sirlgallerie4.php3?id_rubrique=19

Merci d'avance pour celles et ceux qui liront jusqu'au bout :wink:

Sarah

------------------------------------------------------------------------

_______________________________________________
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/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Sarah Calas wrote:

>Bonsoir,
>j'ai des galeries de photos qui sont portées chacune par un article
en portfolio .
>
>Chaque galerie est structurée toujours de la même façon 3 lignes de
trois photos. On peut cliquer sur la vignette et on affiche alors le
doc en grand, avec la possibilité soit de revenir à la galerie de
vignettes, soit de continuer en avant ou en arière quand c'est
possible sur de grandes images.
>
>Pour laisser le choix au Webmestre de réorganiser l'ordre des
vignettes, j'ai numéroté les titres avec 01, 02 etc... devant le titre
a proprement parler.

L'idée est donc d'avoir un lien "précédent" qui pointe vers le doc
précédent, dans l'ordre des titres, et idem pour "suivant" ?
Donc :
<BOUCLE_prec(DOCUMENT){id_article}{!par num titre}{titre<#TITRE}{0,1}>
<a href='#URL_DOCUMENT'>Precedent</a>
</BOUCLE_prec>
<BOUCLE_suiv(DOCUMENT){id_article}{par num titre}{titre>#TITRE}{0,1}>
<a href='#URL_DOCUMENT'>Suivant</a>
</BOUCLE_suiv>

(de tête, à valider)
--
À+, Pif.

<BOUCLE_vignettes1(DOCUMENTS){id_document}{mode=document}{extension==jpg|png
|gif}>
  
Manquerait pas un {par num titre} ici ?

Merci d'avance pour celles et ceux qui liront jusqu'au bout :wink:

Oui, tu peux...

Merci Olivier :slight_smile:

En fait je ne sais pas pourquoi je suis partie dans un truc aussi compliqué pour image suivante (je crois me souvenir qu’a l’époque quelque chose « merdouillait » avec la solution simple pour laquelle j’avais opté, qui ne merdouille plus maintenant…)

ce n’est pas sur la boucle vignette 1 qui affiche le doc en grand sur lequel on a cliqué a partir de la galerie de vignette, mais sur l’affichage de suivante qu’il fallait simplifier je suis passée
de ça :

<BOUCLE_navigationapres(DOCUMENTS){titre!==.blanc$}{par num titre}{id_article}{mode=document}{extension==jpg|png|gif}>

COMPTEUR_BOUCLE|<{#TOTAL_BOUCLE}|?{’ ‹ , ›‹ }) [(#TITRE|=={#_vignettes1:TITRE}|?{ Image suivante >>, › '})]]

à ça :

<BOUCLE_navigationapres(DOCUMENTS){titre!==.blanc$}{par num titre}{titre>#TITRE}{id_article}{mode=document}{extension==jpg|png|gif}{0,1}>

Image suivante >>

(=cherche tous les docs, classes les par num de titre, ne prends que ceux qui sont supérieur au doc en cours et sélectionne le premier de la liste= le doc qui suit celui selectionné et si le résultat est nul n’affiche rien)

et ca marche !

Comme quoi la simplicité :slight_smile:

Sarah

----- Original Message -----
From: « Olivier GENDRIN » <o.gendrin@novactive.com>
To: « ‹ Spip › » <spip@rezo.net>
Sent: Wednesday, June 14, 2006 10:50 AM
Subject: RE: [Spip] selection"image suivante" et « précédente »

<BOUCLE_vignettes1(DOCUMENTS){id_document}{mode=document}{extension==jpg|png
|gif}>

Manquerait pas un {par num titre} ici ?

Merci d’avance pour celles et ceux qui liront jusqu’au bout :wink:

Oui, tu peux…


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/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

va jeter un oeil à http://www.spip-contrib.net/ecrire/?exec=articles&id_article=1286

rpapa a écrit :

va jeter un oeil à SPIP-Contrib

ou
http://www.paris-beyrouth.org/Articles-precedents-articles
de Arno*

Hello Christian
j'avais pas vu ton mail et en fait je suis retombée sur la même solution
toute simple.D'ailleurs j'avais commencé par elle et à l'époque je ne sais
pa spourquoi elle ne fonctionnait pas bien, j'avais pas les bons affichages
! Je suis paassée hier de la 1.8.2 à la 1.8.3 et là ca marche, je ne sais
pas si il y a un lien d cause à effet ??? En toiut cas ca roule maintenant
et c'est le principal :slight_smile:
Sarah
----- Original Message -----
From: "christian lefebvre" <christian.lefebvre@atosorigin.com>
To: "bertrand Gugger" <bertrand@toggg.com>
Cc: "Sarah Calas" <s.calas@wanadoo.fr>; "Spip" <spip@rezo.net>
Sent: Wednesday, June 14, 2006 10:46 AM
Subject: Re: [Spip] selection"image suivante" et"précédente"

Sarah Calas wrote:

>Bonsoir,
>j'ai des galeries de photos qui sont portées chacune par un article
en portfolio .
>
>Chaque galerie est structurée toujours de la même façon 3 lignes de
trois photos. On peut cliquer sur la vignette et on affiche alors le
doc en grand, avec la possibilité soit de revenir à la galerie de
vignettes, soit de continuer en avant ou en arière quand c'est
possible sur de grandes images.
>
>Pour laisser le choix au Webmestre de réorganiser l'ordre des
vignettes, j'ai numéroté les titres avec 01, 02 etc... devant le titre
a proprement parler.

L'idée est donc d'avoir un lien "précédent" qui pointe vers le doc
précédent, dans l'ordre des titres, et idem pour "suivant" ?
Donc :
<BOUCLE_prec(DOCUMENT){id_article}{!par num titre}{titre<#TITRE}{0,1}>
<a href='#URL_DOCUMENT'>Precedent</a>
</BOUCLE_prec>
<BOUCLE_suiv(DOCUMENT){id_article}{par num titre}{titre>#TITRE}{0,1}>
<a href='#URL_DOCUMENT'>Suivant</a>
</BOUCLE_suiv>

(de tête, à valider)
--
À+, Pif.