Pour mettre en place le système, il suffit de surcharger les fichiers
"rubrique.html" et "article.html", pour tant est que vous avez des
squelettes spécifiques à des articles.
Voici le fonctionnement : vous avez x mots-clés, chaque mot clé
représentant un gabarit. Par exemple, le mot clé "actualite"
correspondra au squelette dédié à une rubrique d'actualité, et par
conséquent, chercher un fichier nommé "rubrique-actualite.html" dans
votre dossier de squelettes perso.
Ensuite, la première chose que fait spip quand on appelle une
rubrique, c'est le fichier "rubrique.html". Habituellement, ce fichier
sert à afficher la rubrique d'une certaine façon. A partir de
maintenant, c'est ce fichier qui s'occupera de faire le dispatch des
rubriques vers les bons gabarits, aussi, voici un exemple de son
contenu :
<B_actualite>
<BOUCLE_actualite(MOTS){titre=actualite}{id_rubrique}>
<INCLURE{fond=rubrique-actualite}{id_rubrique}{self=#SELF}>
</BOUCLE_actualite>
</B_actualite>
<B_calendrier>
<BOUCLE_calendrier(MOTS){titre=calendrier}{id_rubrique}>
<INCLURE{fond=rubrique-calendrier}{id_rubrique}{self=#SELF}>
</BOUCLE_calendrier>
</B_calendrier>
<INCLURE{fond=rubrique-base}{id_rubrique}{self=#SELF}>
<//B_calendrier>
<//B_actualite>
Ici, on a deux gabarits spécifiques (actualite et calendrier), et un
gabarit par défaut (base). Quand on appellera une rubrique, le fichier
vérifiera en premier lieu si la dite-rubrique est rattachée au mot clé
"actualite". Si c'est le cas, alors il chargera le fichier
"rubrique-actualite.html", qui contiendra le gabarit spécifique. Si ce
n'est pas le cas, on passe dans le clause "sinon" de la boucle, et il
va vérifier la présence du mot clé "calendrier", et chargera le
squelette "rubrique-calendrier.html" le cas échéant.
En dernière mesure, il ira cherche le squelette par défaut,
"rubrique-base.html", qui serait le fichier affichant une rubrique de
manière générique. On n'oublie pas ensuite de fermer les clauses
"sinon" des précédentes boucles.
Ceci est répétable à l'infini (quoique je ne suis pas forcément
convaincu de la puissance du truc si on a 150 gabarits, étant donné
qu'à chaque appel, on passe par ce fichier...), et fonctionne très
bien.
Si on a des gabarits spécifiques aux articles, on fait le même
principe avec des {id_article} dans le fichier "article.html", et le
tour est joué.
Si vous avez des soucis n'hésitez pas, tout mon portail web fonctionne
sur ce principe de manière transparente pour l'utilisateur, qui n'a
finalement qu'à choisir un mot clé pour adapater la rubrique / article
au gabarit associé.
--
JR