Transmettre une liste à un modèle ?

Bonjour,

Je suis en train d'écrire un modèle pour afficher une liste d'auteurs, que je voudrais sélectionner par le critère {in} ou {!in}. Pas de problème si la liste à afficher (ou exclure) est en dur dans le modèle mais comment puis-je transmettre une liste depuis un article, dans l'appel du modèle ?

Autrement dit je voudrais arriver à un appel de ce genre :
<mon_modele|afficher=toto,tata,titi> ou <mon_modele|exclure=1,4,5>

Je présume qu'il faut metre la liste sous forme de tableau mais je ne trouve pas la syntaxe pour ça. J'ai beau tester, je ne peux au mieux manipuler qu'une valeur, pas une liste.

Christian

Le 22/07/2015 17:42, Christian Marget a écrit :

Bonjour,

Je suis en train d'écrire un modèle pour afficher une liste d'auteurs,
que je voudrais sélectionner par le critère {in} ou {!in}. Pas de
problème si la liste à afficher (ou exclure) est en dur dans le modèle
mais comment puis-je transmettre une liste depuis un article, dans
l'appel du modèle ?

Autrement dit je voudrais arriver à un appel de ce genre :
<mon_modele|afficher=toto,tata,titi> ou <mon_modele|exclure=1,4,5>

Je présume qu'il faut metre la liste sous forme de tableau mais je ne
trouve pas la syntaxe pour ça. J'ai beau tester, je ne peux au mieux
manipuler qu'une valeur, pas une liste.

Christian

Bonjour,

En php, pour transformer une liste de mots séparés par un caractère défini en tableau, on a la fonction explode PHP: explode - Manual

Du coup en SPIP, ça donnerait ça :
#SET{afficher_in, #ENV{afficher}|explode{','}}

<BOUCLE_art(ARTICLES){id_article IN #GET{afficher_in}}>

ps : si ça ne marche pas, remplacer le #SET par :
#SET{afficher_in, #VAL{','}|explode{#ENV{afficher}}}

Le 22/07/2015 18:35, Charles Razack a écrit :

En php, pour transformer une liste de mots séparés par un caractère défini en tableau, on a la fonction explode PHP: explode - Manual

Du coup en SPIP, ça donnerait ça :
#SET{afficher_in, #ENV{afficher}|explode{','}}

<BOUCLE_art(ARTICLES){id_article IN #GET{afficher_in}}>

La première syntaxe fonctionne, aussi bien pour des nombres que des libellés, même sans guillemets autour.
Je peux contrôler en affichant [(#GET{afficher_in}|print_r)].

Merci du coup de main !

Christian