{id_ ?}

  • Apparu en : SPIP 4.0

Le critère {id_?} permet de faire toutes les jointures possibles avec des variables d’environnement. Il se comporte donc comme autant de critères {id_xxx ?} que possible pour la boucle donnée.

Par exemple, la boucle <BOUCLE_liste(ARTICLES){id_?}>... sera comprise comme <BOUCLE_liste(ARTICLES){id_article?}{id_rubrique?}{id_secteur?}{id_trad?}{id_mot?}{id_document?}>..., variant selon les liaisons possibles, et donc selon les plugins actifs. L’écriture est donc nettement plus concise.

Pour une boucle sur une table donnée, les liaisons créées prennent en compte :
-  la table de liaison si elle existe (par exemple spip_mots_liens pour spip_mots)
-  les champs objets,id_objet sinon (par exemple pour spip_forum).

Clés objet,id_objet

Sur une table disposant des champs objet et id_objet (comme spip_forum), à la fois le critère {objet?} et le critère {id_objet?} seront appliqués.

Installation et désinstallation de plugins

Le critère {id_?} permet d’écrire des boucles identiques quelques soient les plugins actifs. En effet, certains plugins créent des tables et permettent des jointures conditionnelles supplémentaires sur ces tables , mais si on intègre ces jointures dans une boucle en utilisant l’identifiant de cette table {id_latable?}, la désinstallation de ce plugin provoquera une erreur de compilation. Avec le critère {id_?}, les jointures se font automatiquement et sans erreur quels que soient les plugins installés ou non.

Voir aussi
-  critère ?
-  La syntaxe des boucles <BOUCLE_cond(UNETABLE?)>

Auteur JLuc Publié le : Mis à jour : 02/07/23

Traductions : English, français