Un affichage fonction de l'importance relative dans le site - commentaires Méthode plus simple : balise #TOTAL_BOUCLE et filtre de comparaison 2008-07-19T21:44:30Z https://contrib.spip.net/Un-affichage-fonction-de-l#comment407590 2008-07-19T21:44:30Z <p>Bonjour,</p> <p>Je ne suis pas familier avec le PHP, et je voulais créer un nuage de tags qui conviendrait à un site comportant peu d'articles, sans utiliser de PHP.</p> <p>Je vous propose donc la méthode que j'ai utilisée sur <a href="http://www.foldire.fr" class="spip_out" rel='nofollow external'>Fol d'ire</a> (mes tags sont regroupés le groupe de mots-clés n°4) :</p> <p>Dans le squelette :</p> <blockquote> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_nuage (MOTS) {id_groupe=4} > <BOUCLE_total (ARTICLES) {id_mot}> </BOUCLE_total> <span class="[(#TOTAL_BOUCLE|>{2}|?{'font120',''})]"> <span class="[(#TOTAL_BOUCLE|>{5}|?{'font120',''})]"> <span class="[(#TOTAL_BOUCLE|>{10}|?{'font120',''})]"> <a href="#URL_MOT"> [(#_nuage:TITRE) - ] </a> </span> </span> </span> </B_total> </BOUCLE_nuage></code></pre></div> </blockquote> <p>Et dans le CSS :</p> <blockquote> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>.font120 { font-size:115%; } .font120 span span a:link { color:#880000; } .font120 span span a:hover { color:#000000; } .font120 .font120 span a:link { color:#660000; } .font120 .font120 span a:hover { color:#000000; } .font120 .font120 .font120 a:link { color:#440000; } .font120 .font120 .font120 a:hover { color:#000000; }</code></pre></div> </blockquote> <p>Cela servira peut-être à quelqu'un...</p> <p>Sylvano</p> Un affichage fonction de l'importance relative dans le site 2007-02-25T21:34:57Z https://contrib.spip.net/Un-affichage-fonction-de-l#comment391415 2007-02-25T21:34:57Z <p>Salut,</p> <p>Merci pour ta contrib. En Spip 1.9.1, j'ai utilisé les balises <a href="http://www.spip.net/fr_article1902.html" class="spip_out" rel='nofollow external'><code class="spip_code spip_code_inline" dir="ltr">#SET</code> et <code class="spip_code spip_code_inline" dir="ltr">#GET</code></a> pour obtenir quelque chose de similaire.</p> <p>Mon idée est, dans un squelette rubrique.html, de mettre en valeur les sous-rubriques en fonction de la popularité des articles qu'elles contiennent. Cet exemple correspond donc au dernier exemple de l'article ci-dessus. Avec un peu d'imagination, on doit pouvoir l'adapter à d'autres besoins...</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_rubrique(RUBRIQUES){id_rubrique}> <BOUCLE_popularite_max(ARTICLES){branche}{!par popularite}{0,1}> #SET{pop_max,#POPULARITE} </BOUCLE_popularite_max> <BOUCLE_sous_rubriques(RUBRIQUES){id_parent}> <BOUCLE_articles(ARTICLES){branche}{!par popularite}{0,1}> [<span[ style="font-size: (#POPULARITE|div{#GET{pop_max}}|round{2}|plus{1})em;"]> <a href="#_sous_rubriques:URL_RUBRIQUE">(#_sous_rubriques:TITRE)</a> </span> ] </BOUCLE_articles> [<span><a href="#URL_RUBRIQUE">(#TITRE)</a></span> ] <//B_articles> </BOUCLE_sous_rubriques> </BOUCLE_rubrique></code></pre></div> <p>La <code class="spip_code spip_code_inline" dir="ltr">BOUCLE_popularite_max</code> sélectionne l'article le plus populaire de la branche, c'est-à-dire de la rubrique en cours et de ses sous-rubriques. Avec <code class="spip_code spip_code_inline" dir="ltr">#SET{pop_max,#POPULARITE}</code>, on donne à la variable <code class="spip_code spip_code_inline" dir="ltr">pop_max</code>, la valeur de sa <code class="spip_code spip_code_inline" dir="ltr">#POPULARITE</code>. <code class="spip_code spip_code_inline" dir="ltr">pop_max</code> a donc une valeur comprise entre 0 et 100.</p> <p>On sélectionne ensuite les sous-rubriques de la rubrique en cours avec la <code class="spip_code spip_code_inline" dir="ltr">BOUCLE_sous_rubriques</code>. Puis l'article le plus populaire de cette branche-là.</p> <p>On fixe une <a href="http://css.alsacreations.com/Tutoriels-et-articles-divers/gerer-la-taille-du-texte-avec-les-em" class="spip_out" rel='nofollow external'>taille relative de police</a> (<code class="spip_code spip_code_inline" dir="ltr"><span style="font-size: ...em;"></code>) en fonction d'un obscur calcul :<br class="manualbr"><code class="spip_code spip_code_inline" dir="ltr">[(#POPULARITE|div{#GET{pop_max}}|round{2}|plus{1})]</code></p> <p>La popularité de cet article est divisée par la popularité maximum obtenue auparavant (<code class="spip_code spip_code_inline" dir="ltr">#GET{pop_max}</code>), on arrondi deux chiffres après la virgule (voir <a href="http://be2.php.net/round" class="spip_out" rel='nofollow external'>fonction <code class="spip_code spip_code_inline" dir="ltr">round()</code> de php</a>) et on ajoute 1.</p> <p>Avec ce calcul, un article dont la popularité serait de 0/100 aurait une taille de 1em, un article ayant une popularité de 100/100 aurait une taille de 2em.</p> <p>Notez que cette boucle n'affichera que les rubriques contenant au moins un article. Pour s'assurer que les rubriques qui ne contiennent que des documents ou des liens par exemple, s'afficheront, on ajoute un code alternatif à la <code class="spip_code spip_code_inline" dir="ltr">BOUCLE_articles</code> (<code class="spip_code spip_code_inline" dir="ltr"><//B_articles></code>).</p> Un affichage fonction de l'importance relative dans le site 2006-04-28T08:55:19Z https://contrib.spip.net/Un-affichage-fonction-de-l#comment386076 2006-04-28T08:55:19Z <p>Plus précisément le « list-style-type : none<small class="fine d-inline"> </small>; » et la taille de police sont pris en compte par Firefox (tant en<small class="fine d-inline"> </small>% qu'en px). Sur Internet Explorer ce n'est pas le cas, on ne voit qu'une liste simple avec puces et les mots sont de tailles identiques.</p> Un affichage fonction de l'importance relative dans le site 2006-04-25T10:56:23Z https://contrib.spip.net/Un-affichage-fonction-de-l#comment386049 2006-04-25T10:56:23Z <p>Il y a deux technique pour faire la taille dans cette contrib, les em, et le font-size en<small class="fine d-inline"> </small>%, laquelle ne marche pas exactement<small class="fine d-inline"> </small>??</p> Un affichage fonction de l'importance relative dans le site 2006-04-25T08:40:07Z https://contrib.spip.net/Un-affichage-fonction-de-l#comment386047 2006-04-25T08:40:07Z <p>Cette contribution ne semble pas marcher sous Internet Explorer, alors que sous Firefox oui. Y a-t-il un moyen de « forcer » cette présentation le navigateur n°1<small class="fine d-inline"> </small>?</p> > Un affichage fonction de l'importance relative dans le site 2005-08-10T20:07:27Z https://contrib.spip.net/Un-affichage-fonction-de-l#comment382760 2005-08-10T20:07:27Z <p>Merci pour ta contribution.</p> <p>Testée sur <a href="http://www.instits.fr/resume.php3" class="spip_out" rel='nofollow external'>www.instits.fr</a></p>