Carnet Wiki

Des forums sur tous les objets, pour spip 3

Voir PHPDOC de la balise #FORMULAIRE_FORUM{[redirection[, objet, id_objet]]}

Activer le forum sur un objet éditorial « patate » (autre que article)

  1. activer l’objet sur la config des forums /ecrire/?exec=configurer_forum (-> Non. Voir note ci-dessous)

Note peetdu : il n’existe pas aujourd’hui (17 août 2022) dans le back-office un formulaire qui permette d’activer dans la partie publique du site les forums sur un objet en particulier.
Pour une raison que je ne m’explique pas encore, il faut activer le plugin Comments 3 pour SPIP 3.
Là ça marche, à condition de lire la suite bien sûr.

  1. #FORMULAIRE_FORUM{#SELF,patate,#ID_PATATE}

Paramétrer le forum sur les différents objets

Il faut créer deux nouveaux fichiers dans /squelettes/inc/
Sans ces deux fichiers vous serez bloqué.

Créer un fichier /squelettes/inc/patate_accepter_forums_publics.php dans son plugin qui contient une fonction inc_patate_accepter_forums_publics($id_objet) qui doit retourner une des valeurs "non", "pos"(teriori), « pri »(ori), « abo »(nnement)

Créer un fichier /squelettes/inc/patate_forum_extraire_titre.php contenant la fonction suivante :

function inc_patate_forum_extraire_titre_dist($id_objet) {
	$titre = generer_objet_info($id_objet, 'patate', 'titre', '*');
	return $titre;
}

Note : pour les articles, la table spip_articles comprend un champ « accepter_forum », reliquat de l’époque antérieur à SPIP 3 où SPIP était avant tout un outil de Blog et où 90% des efforts de développement se basait sur cet objet. Et ça marchait bien aussi.

Voir les posts

Il faut inclure le code suivant

<INCLURE{fond=inclure/forum, objet=patate, id_objet=#ID_PATATE} />
JLuc - Mise à jour :17 août 2022 à 09h23min