Accueil > SPIP > Afficher directement l’article unique d’une rubrique
Exemple pompé du squelette de SPIP-Contrib.net
Afficher directement l’article unique d’une rubrique
samedi 24 mars 2012, par
C’est parfois un problème avec SPIP : on crée une rubrique pour un seul article, afin que les choses soient bien rangées. Mais du coup, les visiteurs doivent cliquer et recliquer pour rien. Sur SPIP-Contrib, dans ce cas-là, la page de l’article unique est affichée directement. Voici comment.
Le code utilisé sur SPIP-Contrib est visible sur la zone : http://zone.spip.org/trac/spip-zone.... Il contient quelques critères dont nous n’avons pas besoin pour un cas général. Nous les enlevons donc, ce qui donne :
Explication :
– lignes 1 : on définit une variable locale "normale", qui servira a lancer le squelette "normal" si la rubrique appelée contient au moins une sous-rubrique ou plus d’un article.
– lignes 3 : tester s’il existe au moins une sous-rubrique de la rubrique appelée. Si c’est le cas, la BOUCLE_articles_unseul ne sera pas exécutée vu qu’elle est dans la partie alternative de la BOUCLE_test_sousrubrique.
– ligne 4 à 12 si la BOUCLE_test_sousrubrique est vide, BOUCLE_articles_unseul est exécutée. Elle liste les articles de la rubrique. Si leur nombre est égal à 1 (l.5), la fonction SPIP redirige_par_entete
est appelée et le navigateur est renvoyé directement sur la page d’article (code 302). On vide la variable "normale" et on s’occupe des statistiques de visite.
– ligne 13 : voici le marqueur qui indique que ce qui précède est à exécuter si la boucle principale ne renvoie rien
– ligne suivante : une dernière boucle sur la rubrique appelée, qui lance en l’occurrence la mécanique de ZPIP si et et seulement si la variable "normale" est positionnée (donc, qu’on a au moins une sous-rubrique ou plus d’un article).
De manière générale, le php n’est pas à utiliser dans les squelettes. On constate ici qu’il est utilisé uniquement pour faire appel à des fonctions ou globales de SPIP, je suppose que c’est ce qui rend cet usage acceptable.
Voilà, voilà. Bon SPIP !
Un message, un commentaire ?
Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d’indiquer ci-dessous l’identifiant personnel qui vous a été fourni. Si vous n’êtes pas enregistré, vous devez vous inscrire.
Messages
7 août 2012, 14:58, par RastaPopoulos
Tu peux aussi utiliser le plugin Court-Circuit qui fait ça tout seul ne manière magique, et qui sait même faire que #URL_RUBRIQUE génère directement l’URL de l’article en question.
http://plugins.spip.net/courtcircuit.html
22 août 2012, 13:29, par François Rygaert (aka Suske)
Oui, je l’ai dans mes favoris pour un prochain dev en spip3 ;-)