ça fait des heures que je ma'rrache les cheveux avec un truc apparemment tout con : le branchement conditionnel en fonction d'une variable (d'environnement).
mon pb est le suivant :
je veux afficher une liste d'article dans un tableau et donner au visiteur la possibilité de trier selon les champs presents. j'ai un champ auteur, ce qui implique d'avoir deux boucles :
1- boucle ARTICLES pour afficher par titre, date, id_article
2- boucle AUTEURS puis ARTICLES pour afficher par nom
mes deux boucles fonctionnent bien independemment quand je les utilise avec le(s) critère de tri approprié(s).
le choix de la boucle est définit par #ENV{tri}
solution 1:
[(#ENV{tri}|=={'nom'}|?{
mes boucles AUTEURS et ARTICLES (tri par auteur)
,
ma boucle ARTICLES (tri par champ article)
})]
solution 2:
[(#ENV{tri}|=={'nom'}|?{' ',''})
mes boucles AUTEURS et ARTICLES (tri par auteur)
]
[(#ENV{tri}|!={'nom'}|?{' ',''})
ma boucle ARTICLES (tri par champ article)
]
mais dans les deux cas je vois l'instruction [(mon_critere|=={'nom'}|?{ , })] affiché dans mon navigateur, elle n'est pas interprété !
j'ai essayé de remplacé #ENV par un #GET{tri} apres avoir fait un #SET{tri,#ENV{tri,titre}}
Quelque chose m'échappe, j'ai pourtant vu de nombreux exemples qui utilisent de tels types de branchement.... je comprends pas !
[(#ENV{tri}|=={'nom'}|?{
mes boucles AUTEURS et ARTICLES (tri par auteur)
,
ma boucle ARTICLES (tri par champ article)
})]
On ne peut pas imbriquer une boucle dans une balise.
Si tu veux écrire ça, il faut utiliser des INCLURE pour chaque
boucle, ou utiliser la "boucle if" définie dans le plugin "boucles
sans tables"
il faut remplacer les boucles par des fichiers inclus contenant les boucles cela
marchera apres.
Cordialement,
Xavier BUROT
Selon christian lefebvre <christian.lefebvre@atosorigin.com>:
On Thu, 2007-03-01 at 10:56 +0100, Frank wrote:
> [(#ENV{tri}|=={'nom'}|?{
> mes boucles AUTEURS et ARTICLES (tri par auteur)
> ,
> ma boucle ARTICLES (tri par champ article)
> })]
On ne peut pas imbriquer une boucle dans une balise.
Si tu veux écrire ça, il faut utiliser des INCLURE pour chaque
boucle, ou utiliser la "boucle if" définie dans le plugin "boucles
sans tables"
Selon christian lefebvre <christian.lefebvre@atosorigin.com>:
On Thu, 2007-03-01 at 10:56 +0100, Frank wrote:
[(#ENV{tri}|=={'nom'}|?{
mes boucles AUTEURS et ARTICLES (tri par auteur)
,
ma boucle ARTICLES (tri par champ article)
})]
On ne peut pas imbriquer une boucle dans une balise.
Si tu veux écrire ça, il faut utiliser des INCLURE pour chaque
boucle, ou utiliser la "boucle if" définie dans le plugin "boucles
sans tables"
mais j'ai une erreur car spip n'évalue pas tri comme étant égal à titre
ou id_article ou ...
Xavier BUROT a écrit :
> il faut remplacer les boucles par des fichiers inclus contenant les boucles
cela
> marchera apres.
>
> Cordialement,
>
> Xavier BUROT
> http://xebiaut.free.fr
>
>
> Selon christian lefebvre <christian.lefebvre@atosorigin.com>:
>
>> On Thu, 2007-03-01 at 10:56 +0100, Frank wrote:
>>> [(#ENV{tri}|=={'nom'}|?{
>>> mes boucles AUTEURS et ARTICLES (tri par auteur)
>>> ,
>>> ma boucle ARTICLES (tri par champ article)
>>> })]
>> On ne peut pas imbriquer une boucle dans une balise.
>> Si tu veux écrire ça, il faut utiliser des INCLURE pour chaque
>> boucle, ou utiliser la "boucle if" définie dans le plugin "boucles
>> sans tables"
>>
>> --
>> À+, Pif.
>> _______________________________________________
>> 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
>>