SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [uk] [vi] [zh] Espace de traduction

Télécharger
Accueil > Documentation en français > Webmestres > Manuel de référence des boucles et balises > Critères > critère IN valeur1, valeur2[, valeur3,..., valeurN]

{critère IN valeur1, valeur2[, valeur3,..., valeurN]}

Août 2009 — mis à jour le : 23 mars

Toutes les versions de cet article :

{... IN ...} limite l’affichage aux résultats ayant un critère appartenant à un ensemble fini.


{xxxx IN a,b,c,d} limite l’affichage aux résultats ayant le critère xxxx égal à a, b, c ou d.

Les résultats sont triés dans l’ordre indiqué (sauf demande explicite d’un autre critère de tri). Il est aussi possible de sélectionner des chaînes de caractères, par exemple avec {titre IN 'Chine', 'Japon'}

Il est également possible de passer en argument un tableau (à partir de SPIP 1.9).

Il peut s’agir d’un tableau défini par une balise #ARRAY ou bien d’un tableau provenant d’une balise #ENV**{mon_post}.

Si #ENV{mon_post} est un tableau (venant par exemple de saisies de formulaire dont l’attribut name se termine par []), et si les filtres d’analyse ont été désactivés en suffixant cette balise par une double étoile, alors chaque élément du tableau sera considéré comme argument de IN, SPIP appliquant les filtres de sécurité sur chacun d’eux [1].

Le squelette standard formulaire_forum_previsu fournit un exemple d’utilisation avec une boucle MOTS ayant le critère {id_mot IN #ENV**{ajouter_mot}} :
cette boucle sélectionne seulement les mots-clés appartenant à un ensemble indiqué dynamiquement. Ici, cet ensemble aura été construit par le formulaire du squelette standard « choix_mots », qui utilise l’attribut name=ajouter_mot[].

Utilisation conditionnelle de l’opérateur IN dans un critère de boucle

exemple d’utilisation :

-  si #ID_ARTICLE est présent dans l’environnement et quelle que soit sa valeur :

<BOUCLE_a(ARTICLES) {id_article ?IN 11,12,13}>
n’affichera que les articles dont l’id est dans la liste IN

<BOUCLE_a(ARTICLES) {id_article ?!IN 11,12,13}>
n’affichera que les articles dont l’id n’est pas dans la liste IN [2]

-  si #ID_ARTICLE n’est pas présent dans l’environnement :

<BOUCLE_a(ARTICLES) {id_article ?IN 11,12,13}>
affichera tous les articles y compris ceux dont l’id est dans la liste IN

<BOUCLE_a(ARTICLES) {id_article ?!IN 11,12,13}>
affichera tous les articles y compris ceux dont l’id est dans la liste IN [2]

Notes

[2pour rappel : {id_article !IN 11,12,13} sélectionne les articles dont l’id n’est pas dans la liste 11, 12, 13 (voir critère !opérateur valeur)


Voir le squelette de cette page Site réalisé avec SPIP | Espace de traduction | Espace privé