Modifier l'affichage des statistiques par forum

L'affichage classique des forums réserve une colonne pour le nombre de messages et une colonne pour le nombre de sujets d'une catégorie... Il est néanmoins possible de supprimer ces colonnes en gardant ces statistiques ! Tutoriel pour Forumactif, adaptable aux autres plateformes.

Sommaire


Introduction

L'idée d'afficher les statistiques de chaque forum d'une façon différente de celle de base n'est bien évidemment pas de moi, mais elle est reprise partout sans que personne ne soit en mesure d'expliquer correctement comment cela se fait.

Avant toute chose, je vous rappelle qu'il vous est vivement conseillé d'avoir quelques notions de HTML pour aborder ce tutoriel, qui n'est pas très compliqué, mais nécessite d'être compris pour pouvoir non seulement l'appliquer, mais le personnaliser. Je m'efforcerai d'expliquer chaque étape du mieux que je pourrai pour vous éviter les erreurs, à vous d'être attentifs ensuite.

L'intégralité des modifications décrites ici se déroulent dans le template général > index_box.


Première étape : Supprimer les cellules de titre

Pour éviter les erreurs d'affichage fréquentes au premier essai, il vous faut repérer les colonnes où sont affichées les statistiques du nombre de messages et du nombre de sujets. Or, vous aurez remarqué que sur la plupart des forums, il y a deux colonnes respectivement intitulées Sujets et Messages. Ce qui implique qu'outre les cases contenant le chiffre, il vous faudra trouver celles contenant les titres "Sujet" et "Messages" :
      <th nowrap="nowrap" width="50">{L_TOPICS}</th>
      <th nowrap="nowrap" width="50">{L_POSTS}</th>
Le "th" est utilisé dans les tableaux pour indiquer une cellule de titre, dont le rendu esthétique est géré différemment des autres cellules. Ici, il s'agit donc des cellules de titre des deux colonnes que l'on cherche à supprimer.

... Et donc, oui, on les supprime. Personnellement, pour m'en souvenir, je les encadre des balises de commentaires (en HTML, un commentaire commence par <!-- et finit par -->) mais vous faites comme vous l'entendez.


Deuxième étape : Supprimer les colonnes

Celles ci se situent dans une boucle déclarée par un <!-- BEGIN forumrow --> et terminée en tout logique par un <!-- END forumrow -->. Ce qui correspond donc aux lignes suivantes :
      <td class="row3" align="center" valign="middle" height="50">
         <span class="gensmall">{catrow.forumrow.TOPICS}</span>
      </td>
      <td class="row2" align="center" valign="middle" height="50">
         <span class="gensmall">{catrow.forumrow.POSTS}</span>
      </td>
A noter que pour repérer ces lignes, il suffit de procéder avec logique : TOPICS et POSTS sont des termes assez transparents, et il existe déjà sur l'Enae un petit explicatif sur les variables de templates. Partant de cette constatation, puisque vous cherchez à éliminer des colonnes, il vous faudra retirer les cellules correspondantes, c'est à dire aller jusqu'aux parties <td> et </td> (avec les attributs qui vont avec) qui encadrent ces variables.

Une fois cette partie retirée, on aura retiré les cellules de titre ET les cellules contenant les valeurs, autrement dit les colonnes correspondantes n'existent plus.

Et il n'y a plus de statistiques de messages et de sujets, ce qui ne vous arrange pas forcément. Passons à la suite du tutoriel.


Troisième étape : Replacer les statistiques

Normalement, si vous avez suivi attentivement ce que je vous ai dit jusqu'ici, vous savez quelles variables de templates indiquent le nombre de messages et de sujets.

  • {catrow.forumrow.TOPICS} : Affiche le nombre de sujets
  • {catrow.forumrow.POSTS} : Affiche le nombre de messages

Techniquement, il vous est donc possible de les placer n'importe où sur la page pourvu que vous restiez dans la boucle forumrow (laquelle commence au niveau du texte BEGIN forumrow et s'arrête au niveau de END forumrow), mais je vais vous indiquer comment faire pour les placer en haut à droite de la fenêtre de description.

Dans votre code, trouvez les lignes suivantes :
         <h{catrow.forumrow.LEVEL} class="hierarchy">
            <span class="forumlink">
               <a class="forumlink" href="{catrow.forumrow.U_VIEWFORUM}">{catrow.forumrow.FORUM_NAME}</a><br />
            </span>
         </h{catrow.forumrow.LEVEL}>

Et AVANT cette partie, ajoutez ceci :
<div class="genmed statistiques" style="float:right;">{catrow.forumrow.POSTS} messages dans {catrow.forumrow.TOPICS} sujets</div>

Explications : J'ai ajouté un bloc (div) contenant le texte "x messages dans y sujets". La balise div contient deux attributs : Dans l'attribut style, Le float:right; vous permet de placer votre texte à droite du titre. L'attribut class contient ici deux classes css différentes. L'une est la classe genmed utilisée un peu partout sur le forum par défaut, laissez la telle quelle. L'autre est la classe statistiques... Qu'il vous reste à définir à votre guise dans votre feuille de style css, par exemple :
.statistiques {
   color:red;
   font-variant:small-caps;
}
A noter que même si vous ne définissez aucun style css pour cette classe statistiques, ça ne posera pas de problèmes d'apparence.

Voilà, j'ai testé mon tutoriel tout en le rédigeant, normalement, il devrait marcher sans problème. Merci de votre attention et bon courage !