2
Indiquez l’intérêt que vous portez à cette question
0

Un nuage de Tags à l’arrache

Bonjour,

Je viens soumettre mon code à votre regard critique.
Le code fonctionne, mais je me demande s’il n’y aurait pas une méthode plus élégante pour arriver au même but.

La situation :
 1 site trilingue, fr, en, de
 3 groupes de mots-clés (1 pour chaque langue ; groupes nommés respectivement fr, en, de)
 les mots sont créés et attribués manuellement aux articles par le rédacteur, au cas par cas.

Résultat souhaité :
 lorsqu’on se trouve dans un secteur de langue, on souhaite ne voir que les mots de ce secteur.
 Dans ce "menu" de mots-clés, la taille d’un mot-clé est fonction du nombre de fois où il est associé à un article, dans le secteur de langue courant.

Et bref, j’obtiens donc le code fonctionnel suivant :

[(#REM) BOUCLE_MOTS_LANG : On se place de le groupe de mots-clés associé à la langue courante ]
<BOUCLE_MOTS_LANG(GROUPES_MOTS) {titre==#LANG}>
[(#REM) BOUCLE_MOTS : On passe en revue les mots-clés du groupe de mots associés à la langue de l'environnement ]
<B_MOTS>

[(#GET{yatildesresultats}|=={'non'}|?{'','<div class="menu menu_nuage_tags"><h2 class="cold">Mots-clés</h2><ul>'})]

<BOUCLE_MOTS(mots) {id_groupe} {par titre}>


[(#REM) COMPTE_UTILISATION : On passe en revue les articles pour un mot donné pour voir combien de fois un mot est associé à un article différent ]
<B_COMPTE_UTILISATION>
<BOUCLE_COMPTE_UTILISATION(articles) {id_mot}>
</BOUCLE_COMPTE_UTILISATION>
<li><a href="#URL_MOT" style="font-size:<?php $pourcentage=90+10*#TOTAL_BOUCLE; if ($pourcentage<=200) {echo $pourcentage;} else {echo '200';} ?>%">#TITRE</a></li>
</B_COMPTE_UTILISATION>
#SET{yatildesresultats,non}
<//B_COMPTE_UTILISATION>	

</BOUCLE_MOTS>

[(#GET{yatildesresultats}|=={'non'}|?{'','</ul></div>'})]

</B_MOTS>
</BOUCLE_MOTS_LANG>