explication de texte

Bonjour tout le monde....

En parcourant le code de certains squelettes mis à disposition sur SPIP contrib, je suis tombé sur cette ligne que je n'arrive pas bien comprendre

#SET{id_article,#ENV{id_article,''}|=={oui}|?{16,#ENV{id_article}}}

le filtre {oui} fonctionne comment/s'applique sur quoi ? Quelqu'un pourrait-il donner l'explication de cette ligne ?
Merci d'avance

Bonjour,

Voici un bon article sur le sujet :
http://programmer.spip.org/Les-filtres-de-tests

"||oui| retourne un espace ou rien. C’est équivalent à ||?{' ',''} ou |?{' '}| et permet de retourner un contenu non vide (un espace) pour signaler que les parties optionnelles des balises doivent s’afficher."

C'est donc employé pour conditionner l'affichage de la partie optionnelle de la balise : entre les [] et hors des ().

Vala :slight_smile:

Le 18 octobre 2009 13:10, Vincent <vincent@logaweb.fr> a écrit :

Bonjour,

Voici un bon article sur le sujet :
http://programmer.spip.org/Les-filtres-de-tests

« ||oui| retourne un espace ou rien. C’est équivalent à ||?{’ ‹ , ›‹ } ou |?{ › '}| et permet de retourner un contenu non vide (un espace) pour signaler que les parties optionnelles des balises doivent s’afficher. »

C’est donc employé pour conditionner l’affichage de la partie optionnelle de la balise : entre les et hors des ().

hummm… pas dans ce cas précis, il me semble. ici on a #ENV{id_article,‹  ›}|=={oui}, on vérifie donc que la valeur de #ENV{id_article} vaut « oui » (étonnant pour un id, non ?). Reprenez moi si je me trompe…

DoM

Vala :slight_smile:


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
http://archives.rezo.net/spip.mbox/

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

ekinimod a écrit :

Le 18 octobre 2009 13:10, Vincent <vincent@logaweb.fr> a écrit :

"||oui| retourne un espace ou rien. C’est équivalent à ||?{' ',''} ou |?{'
'}| et permet de retourner un contenu non vide (un espace) pour signaler que
les parties optionnelles des balises doivent s’afficher."

#ENV{id_article,''}|=={oui}, on vérifie donc que la valeur de
#ENV{id_article} vaut "oui" (étonnant pour un id, non ?). Reprenez moi si je
me trompe...

#SET{id_article, #ENV{id_article, ''}|=={oui}|?{16, #ENV{id_article}}}

si il n'existe pas d'id_article dans l'environnement (url)
alors :
   #GET{id_article} sera vide

si il existe un id_article dans l'environnement (url)
et que intval($_GET['id_article']) est égal à zéro
alors :
   #GET{id_article} sera égal à 16

quelques cas :
   id_article = boum
   id_article = plouf18
   id_article = 0
   id_article =

si il existe un id_article dans l'environnement (url)
et que intval($_GET['id_article']) n'est pas égal à zéro
et que intval($_GET['id_article']) est strictement supérieur
à -2147483649 et strictement inférieur à 2147483648
alors :
   #GET{id_article} sera égal à intval(id_article)

quelques cas :
   id_article = 51paf => '51'
   id_article = -485 => '-485'
   id_article = 12.5 => '12'

mais l'écriture du test me parait
un peu emberlificotée...