#INFO_XXX

  • Apparu en : SPIP 3.0

#INFO_XXX{objet_type, id_objet} est une balise qui permet de récupérer la valeur d’un champ en base de données sans nécessairement faire une boucle.

Elle prend trois paramètres obligatoires :

  1. XXX : le nom du champ
  2. objet_type : c’est le type de l’objet [1] correspondant à la table SQL que vous voulez interroger (ex : article pour la table spip_articles, forum pour la table spip_forum, etc.).
  3. id_objet : c’est l’id de l’objet ciblé.

Utilisation hors-boucle

#INFO_TITRE{article, 13}
#INFO_NOM{auteur, 2}

Cette fonctionnalité est optimisée pour ne pas faire plusieurs requêtes SQL sur la même table. Vous pouvez donc utiliser plusieurs fois la balise sur le même objet sans inquiétude.

#INFO_TITRE{article, 13}
#INFO_SOUSTITRE{article, 13}
#INFO_CHAPO{article, 13}

On peut aussi passer dynamiquement des paramètres :

#SET{id_breve, 3}
#INFO_TITRE{breve, #GET{id_breve}}

Utilisation dans une boucle

<BOUCLE_article(ARTICLES){id_article}>
Voici l'article #TITRE de la rubrique #INFO_TITRE{rubrique, #ID_RUBRIQUE}
</BOUCLE_article>

…fonctionne bien puisque #ID_RUBRIQUE est bien un champ de la table spip_articles

Traitements automatiques

La balise applique les traitements automatiques habituels sur les informations demandées, exactement comme lorsqu’on demande #TITRE ou #TEXTE dans une boucle de l’objet. Cela prend donc en compte les balises multi ou la syntaxe SPIP sur certains champs.

Pour ne pas les appliquer, il faut ajouter l’étoile [2], comme pour les autres balises : #INFO_TEXTE*{article, 123}.

Spécificités

Pour TITRE, la balise va chercher la définition du champ de titre dans la description de l’objet éditorial [3], ce qui permet alors d’utiliser la même syntaxe quelque soit le contenu, même si dans la base c’est le champ "nom" qui est important.

Ainsi #INFO_TITRE{auteur, 123} renverra le pseudo de cet utilisateur, stocké dans le champ "nom" de "spip_auteurs".

Voir aussi


-  Les balises propres au site
-  #CHAMP_SQL
-  La création d’une balise #INFO_CHAMP pour accéder à la valeur dans l’environnement courant d’un champ variable

Notes

[1voir à ce propos la fonction objet_type()

Auteur b_b, RastaPopoulos Publié le : Mis à jour : 16/03/24

Traductions : English, français, Nederlands