La boucle FORUMS

La boucle FORUMS retourne une liste de messages de forums.

<BOUCLEn(FORUMS){critères...}>

Les critères de sélection

On utilisera l’un ou autre des critères suivants pour indiquer comment on sélectionne les éléments.

-  {id_forum} retourne le message dont l’identifiant est id_forum. Comme l’identifiant de chaque message est unique, ce critère retourne une ou zéro réponse.

-  {id_article} retourne les messages correspondant à cet article.

-  {id_rubrique} retourne les messages correspondant à cette rubrique. Attention, il ne s’agit pas de messages des articles de cette rubrique, mais bien des messages de cette rubrique. En effet, il est possible d’activer dans l’espace privé des forums pour chaque rubrique.

-  {objet}{id_objet} retourne les messages correspondant à un certain type et identifiant d’objet.

-  {statut} retourne les messages ayant un certain statut.

-  {id_breve} retourne les messages correspondant à cette brève.

-  {id_syndic} retourne les messages correspondant à ce site.

-  {id_thread} retourne les messages appartenant à ce fil de discussion.
Note : id_thread n’est rien d’autre que l’identifiant id_forum du message qui démarre le fil de discussion (aussi appelé « pied » de la discussion).

-  {id_parent} retourne les messages dépendant d’un autre message. Indispensable pour gérer des fils de discussion (« threads ») dans les forums.

-  {id_enfant} retourne le message dont dépend le message actuel (permet de « remonter » dans la hiérachie des fils de discussion).

-  {meme_parent} retourne les autres messages répondant à un même message.

-  {plat} ou {tout} : affiche tous les messages de forum sans prendre en compte leur hiérarchie : avec ce critère, vous pouvez sélectionner tous les messages quelle que soit leur position dans un thread (dans la limite des autres critères, bien sûr). Cela permet par exemple d’afficher les messages par ordre strictement chronologique par exemple, ou de compter le nombre total de contributions dans un forum.

N.B. En l’absence de critère {id_forum} ou {id_parent}, lorsque {plat} n’est pas utilisé, seuls les messages n’ayant pas de parent (i.e. à la racine d’un thread) sont affichés.

-  {id_secteur} retourne les messages correspondant au secteur. A priori, peu utile ; mais cela permet par exemple de faire un grand forum thématique regroupant tous les messages d’un secteur, quel que soit l’endroit où l’on se trouve.

-  Les messages des forums peuvent être liées à des mots-clés. Les critères de mots-clés peuvent donc être utilisés dans les boucles (FORUMS) :

  • {id_mot}, {titre_mot=xxx} récupèrent les messages liés au mot dont le numéro est id_mot ou dont le titre est titre_mot ;
  • {id_groupe}, {type_mot=yyyy} récupèrent les messages liés à des mots du groupe id_groupe, ou du groupe dont le titre est type_mot.

Les critères d’affichage

Les critères communs à toutes les boucles s’appliquent.

Les balises de cette boucle

-  Les balises tirées de la base de données

Les balises suivantes correspondent aux éléments directement tirés de la base de données. Vous pouvez les utiliser également en tant que critère de classement (généralement : {par titre}).

-  #ID_FORUM affiche l’identifiant unique du message.

-  #ID_THREAD affiche l’identifiant du fil de discussion auquel appartient ce message. (Il s’agit de l’id_forum du pied de la discussion.)

-  #URL_FORUM donne, l’adresse canonique de la page qui affiche le message de forum (par exemple, avec les URLs normales de SPIP, /spip.php?article8#forum15 pour le message 15 associé à l’article 8).
/spip.php ?article8#forum15

-  #ID_BREVE affiche l’identifiant de la brève à laquelle ce message est attaché. Attention, cela n’est pas récursif : un message qui répond à un message attaché à une brève ne contient pas lui-même le numéro de la brève.

-  #ID_ARTICLE est l’identifiant de l’article auquel répond le message.

-  #ID_RUBRIQUE est l’identifiant de la rubrique à laquelle le message répond.

-  #ID_SYNDIC est l’identifiant du site auquel le message répond.

-  #DATE est la date de publication.

-  #TITRE est le titre.

-  #TEXTE est le texte du message.

-  #NOM_SITE le nom du site Web indiqué par l’auteur.

-  #URL_SITE l’adresse (URL) de ce site Web.

-  #AUTEUR (anciennement #NOM) est le nom de l’auteur du message.

-  #EMAIL est l’adresse email de l’auteur, sous forme directe d’envoi (le mailto: est intégré). Elle s’utilise donc ainsi [(#EMAIL)] pour avoir à la fois l’adresse mail apparente et, directement, le lien à cliquer sur cette adresse.

-  #STATUT est le statut du forum. Selon l’origine et l’état du forum, ce peut être


-  publie : lisible dans l’espace public
-  off : supprimé
-  prive : écrit en réaction à un article dans l’espace privé
-  privoff : messages rejetés ("supprimés") d’un forum privé relatif à un article
-  privrac : message du forum interne des rédacteurs, dans l’espace privé (la configuration doit avoir activée ce forum)
-  privadm : message du forum des administrateurs (ce dernier doit être activé dans la config)
-  prop : message proposé à la publication, en attente de validation (car la modération des forums est configurée sur "a priori" ou par effet du plugin "nospam").
-  spam : rejeté comme spam (plugin "nospam").

-  #IP est l’adresse IP de l’auteur du message au moment de l’envoi de sa contribution.

-  Les balises calculées par SPIP

-  #FORMULAIRE_FORUM fabrique l’interface permettant de poster un message de réponse. Pour en savoir plus, voir aussi « Les formulaires ».

-  #PARAMETRES_FORUM fabrique la liste des variables exploitées par l’interface du formulaire permettant de répondre à ce message. Par exemple :

[<a href="spip.php?page=forum&(#PARAMETRES_FORUM)">Répondre à ce message</a>]

On peut lui passer un paramètre spécifiant l’adresse de retour après avoir posté le message. Par exemple :

<a href="spip.php?page=forum&(#PARAMETRES_FORUM{#SELF})">Répondre à ce message</a>

renverra le visiteur sur la page actuelle une fois que le message a été validé.

Auteur L’équipe de SPIP Publié le : Mis à jour : 26/08/23

Traductions : عربي, català, Deutsch, English, Español, français, italiano, Nederlands