Elle provoque viagra prix en pharmacie des troubles moteurs et sensitifs. Les viagra pas cher france démissions sont aussi inquiétantes. Il m acheter propecia a proposé 75 €. Si c acheter du veritable viagra est lui qui est choisi, je lui souhaite bon courage. Une pratique commander duphaston bien réelle et tout autant interdite. Il y tadalafil sans ordonance a trop de fumeurs. Même chose achat sécurisé de viagra pour les dermatologues. Il y www sildenafil avait une odeur atroce. Ses conclusions achat viagra en ligne france sont attendues pour l automne. Les dépassements, vente viagra Jean-Louis M. Coût vente kamagra : 2 650 dollars 1 965 euros . Notre atarax vente en ligne rôle est d émettre des recommandations. Jusqu viagra livraison rapide en 2011, ils en étaient loin. Les duphaston prix appareils d imagerie se développent. Pas viagra en ligne d horaires fixes de lever, de repas, de coucher. L meilleur site pour achat viagra Elysée, où l on dit M. … ou commander du cialis C est pas ragoûtant, a-t-il déclaré sur RTL. Son kamagra vente libre europe articulation originale montre cependant un tournant. On espère achat viagra pharmacie ligne que la maternité vivra! . Cette lecture clomid et duphaston sans ordonnance est aussi critique. {doublons} - SPIP
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] [vi] [zh] Espace de traduction

Télécharger

{doublons}

Janvier 2010 — mis à jour le : Juin 2009

Toutes les versions de cet article :

{doublons} permet d’interdire l’affichage des résultats déjà affichés dans d’autres boucles utilisant ce critère.
historique : A partir de [SPIP 1.2] et jusqu’à [SPIP 1.7.2], seules les boucles ARTICLES, RUBRIQUES, DOCUMENTS et SITES acceptaient ce critère.


Le critère {doublons} une fois découvert devient rapidement indispensable à vos squelettes [1]. S’il est d’un emploi un poil curieux, il permet des tris très intéressants mais qui n’apparaissent pas immédiatement à la lecture de la documentation de base sur Spip.net qui nous dit :

Le critère {doublons} ou {unique} [2] : permet d’interdire l’affichage des résultats déjà affichés dans d’autres boucles utilisant ce critère. Ces deux critères sont rigoureusement identiques.

Identiques ? Pas tout à fait ! Au fil des versions de SPIP, doublons s’est enrichi de possibilités supplémentaires :
-  on peut nommer ses doublons, donc en faire coexister plusieurs dans un même code,
-  il permet aussi des pirouettes spipiennes avec l’anti-doublons !

Utilisation de base : ne pas retrouver des éléments déjà traités dans la page

Un exemple nous est donné dans le squelette sommaire de dist [3]

Il s’agit de lister les articles du site par ordre chronologique inversé ET de réserver aux deux derniers articles publiés un traitement particulier. Comme vous le voyez, les boucles "_articles_recents" et "_autres_articles" sont construites de la même manière. En toute logique, elles doivent donc retourner la même liste d’articles.

C’est grâce au travail du critère "doublons" que les 2 articles les plus récents, déjà traités dans la première boucle, ne se retrouveront pas dans la liste affiché avec la boucle "_autres_articles" .

Autre utilisation courante : exclure des éléments

Notre grand classique : exclure suivant un mot-clé

On voit régulièrement sur la liste spip-users posé ce type de problème :

"Je n’arrive pas a exclure des éléments en fonction de leur mot-clé. j’essaie :

mais cela ne fonctionne pas"

Et pour cause !

Ce que veut l’utilisateur ici, c’est sélectionner toutes les rubriques qui n’ont pas reçu le mot clé "invisible". Or, ce que comprend la base de données avec {titre_mot != invisible}, c’est qu’elle doit sélectionner toutes les rubriques qui ONT un mot clé ET que le dit mot clé soit différent de "invisible".

Et cela change tout. Car dans le résultat figurera par exemple une rubrique à laquelle a été affecté un mot clé "bidule", donc différent de "invisible" (ok !), y compris si la rubrique est liée au mot clé "invisible" (arg !) et, n’y figurera pas, une rubrique qui n’a aucun mot clé (l’inverse du résultat souhaité !). [4]

La solution : enchaîner une boucle vide qui sélectionne selon le mot-clé et une autre boucle qui retourne les résultats en utilisant le critère {doublons}.

En reprenant notre exemple ci-dessus cela donne :

Cette boucle sélectionne toutes les rubriques qui ont le mot-clé "invisible" , mais elle n’affiche rien.

Cette deuxième boucle va sélectionner grâce au critère doublons toutes les autres rubriques et leur appliquera le traitement choisi.

Nommer les doublons pour en utiliser plusieurs dans le même fichier

Objectif : gérer sur une page d’accueil l’affichage de liens vers des articles et vers des communiqués. La présentation des deux derniers articles publiés et des deux derniers communiqués est différente des autres.

Pour l’exemple, on retrouve ici le même schéma déjà vu avec les boucles de la DIST. Il s’agit simplement ici de faire cohabiter sans conflit des boucles très proches. Nommer les doublons évitera que les tris de l’une interfèrent dans les tris de l’autre.

De manière générale, nommer ses doublons est une bonne pratique pour éviter tout télescopage actuel mais aussi futur (des squelettes cela évoluent). C’est aussi un élément qui donne de la lisibilité à votre code.

Dans le cadre d’une utilisation avancée, vous pouvez essayer l’utilisation de balises SPIP. Par exemple : {doublons #TITRE} ou même {doublons #_mabouboucle:TITRE} voire même {doublons (#_mabouboucle:TITRE|supprimer_numero)}.

Utilisation avancée : anti-doublons ou comment constituer une pile de données à traiter

Mécanique de l’anti-doublons

Ici "doublons" va permettre de rassembler le résultats de plusieurs boucles utilisant différents critères et " !doublons" d’appliquer à cet empilement d’items les traitements souhaités.

Le schéma d’utilisation est celui-ci :

On sélectionne un première série d’articles (on n’affiche rien)...

<BOUCLE0(ARTICLES){id_mot=2}{doublons A}></BOUCLE0>

...puis une deuxième série d’articles (on n’affiche toujours rien)....

<BOUCLE1(ARTICLES){id_auteur=1}{doublons A}></BOUCLE1>

... on trie selon ses besoins et on affiche le tout grâce à l’anti-doublons.

<BOUCLE2(ARTICLES){par date}{!doublons A}>#TITRE<br></BOUCLE2>

Un Exemple d’anti-doublons

Objectif : faire une boucle qui récupère les articles de toutes les rubriques à l’exception des rubriques 2 et 3, ET pour ce qui concerne les articles de la rubrique 4, seulement ceux de moins de 60 jours.

La solution : il nous faut une première boucle qui ira chercher tous les articles en excluant ceux des rubriques 2, 3 mais aussi 4...

<BOUCLE0(ARTICLES) {id_rubrique !IN 2,3,4}{doublons tri1}></BOUCLE0>

....puisqu’il faut dédier à cette rubrique une deuxième boucle...

<BOUCLE1(ARTICLES) {id_rubrique=4}{age<60}{doublons tri1}></BOUCLE1>

...et c’est dans une dernière boucle que l’on affiche grâce à l’anti-doublons les articles sélectionnés triés avec les critères de son choix.

<BOUCLE2(ARTICLES){par date}{!doublons tri1}>#TITRE<br></BOUCLE2>

P.-S.

Article original : SPIP-Contrib.net.
Publié sur spip.net par Teddy

Notes

[2Attention, ne pas confondre le critère "unique" et le filtre "unique" dont on peut trouver des applications ici et .

[3Il s’agit du squelette par défaut de SPIP que l’on trouve dans le dossier /DIST. Rappel : vous ne devez pas toucher à ces fichiers et ranger les fichiers de votre propre squelette dans un dossier /squelettes à créer au même niveau que /DIST, c’est à dire à la racine du site.

[4ce point est tiré de ce fil de discussion (Merci Cédric)


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