http://www.3studio.org/blog.php ?id_blog=36&id_article=295
et
http://www.spip-contrib.net/Afficher-directement-l-article-si
Si les rubriques n’ont un seul article, faire que le lien mène directement à l’article au lieu de la rubrique comme habituellement.
<BOUCLE_menurub(RUBRIQUES){racine}{par num titre}>
<BOUCLE_articles_plusdun(ARTICLES) {id_rubrique} {1,1}>
<a href="[(#URL_RUBRIQUE)]">#_menurub:TITRE</a>
</BOUCLE_articles_plusdun>
<BOUCLE_articles_unseul(ARTICLES) {id_rubrique} {0,1}>
<a href="[(#URL_ARTICLE)]">#_menurub:TITRE</a>
</BOUCLE_articles_unseul>
<//B_articles_plusdun>
</BOUCLE_menurub>
La première boucle fabrique le lien vers la rubrique si il y a plus d’un article (puisque 1,1 veut dire qu’on prend le 2e résultat retourné par la Boucle).
La deuxième boucle fabrique le lien vers l’unique article de la rubrique, étant dans la partie conditionnelle de la boucle on sait qu’il y a 0 ou 1 article dans cette rubrique.
La notation #_menurub:TITRE permet d’afficher le nom de la rubrique alors que nous sommes dans une boucle articles.
Mortimer propose aussi une boucle interresante, avec un squelette en inclure pour chacun des cas, 1 article, ou plusieurs dans la rubrique.
http://article.gmane.org/gmane.comp...
<BOUCLE_rubrique_principale(RUBRIQUES) {id_rubrique}>
<BOUCLE_compte_article(ARTICLES) {id_rubrique}></BOUCLE_compte_article>
[(#TOTAL_BOUCLE|=={1}|?{' ',''}) <INCLURE(article.php3) {id_rubrique}>]
[(#TOTAL_BOUCLE|>{1}|?{' ',''}) <INCLURE(vraie_rubrique.php3)
{id_rubrique}>]
<//B_compte_article>
</BOUCLE_rubrique_principale>
maitenant tu fais un squelette vraie_rubrique.html/php3 qui contient
l'affichage normal de la rubrique s'il y a plus d'un article
et tu modifies le code de article.html pour que la boucle principale
soit qq chose comme ça:
<BOUCLE_article_principal(ARTICLES) {id_article?} {id_rubrique?} {0,1}>