dimanche 5 juillet 2009

[spip] N'afficher le code des commentaires que si les forums sont activés sur l'article

Sur un site, les forums des articles ne sont activés que par-ci, par-là, aux choix des utilisateurs. J'ai donc inclus des boucles pour afficher les commentaires et puis le formulaire pour en laisser. Je souhaite que ces boucles ne s'intègrent à l'article que lorsque les commentaires sont activés :
- D'abord je créé un fichier d'inclusion, que je nomme inc-commentaires.html, et j'y écris les boucles que je veux afficher si les commentaires sont activés :
<h2><BOUCLE_NbreCommentaires(FORUMS){id_article}{plat}></BOUCLE_NbreCommentaires>[(#TOTAL_BOUCLE)
[(#TOTAL_BOUCLE|>{1}|?{<:coms:>,<:com:>})] ]
<//B_NbreCommentaires> </h2>
<B_Commentaires> <BOUCLE_Commentaires(FORUMS){id_article}{plat}{!par date}> <a name="forum#ID_FORUM"></a>
<div class="forums_texte"> [<strong>(#TITRE)</strong> <br />]
[(#TEXTE|image_reduire{600})]</div>
<h5 class="forums"> <:comauteur:>
<[(#EMAIL|?{a href="mailto:#EMAIL",span})]>[(#NOM|sinon{<:visiteur:>})]</[(#EMAIL|?{a,span})]>[,
<a href="#URL_SITE">(#NOM_SITE)</a>] [<:le:> (#DATE|affdate)] </h5></BOUCLE_Commentaires>
</B_Commentaires> <//B_Commentaires>
<p>&nbsp;</p>

Au passage, à l'intérieur de ce code se trouve ceci :
[(#TOTAL_BOUCLE) [(#TOTAL_BOUCLE|>{1}|?{<:coms:>,<:com:>})] ], qui nous permet d'écrire "commentaire" au singulier s'il n'y a qu'un seul article, et "commentaires" au pluriel dans le cas contraire.

- Puis, dans mon squelette article.html, j'écris le code suivant :
[<INCLURE{fond=inc-commentaires}{id_article}>(#FORMULAIRE_FORUM)]

et voilà !

0 commentaires: