J’ai eu du mal à comprendre, alors je note ici ce que j’ai trouvé, cela peut servir d’aide-mémoire pour moi ... et pour d’autres.
Un livre très complet ici :
http://www.lulu.com/product/livre-broch%C3%A9/programmer-avec-spip/11019986
Une boucle, qu’est-ce que c’est ?
– Voici une très bonne définition ici : http://www.spip-contrib.net/Les-incontournables-de-SPIP
Une boucle pour sélectionner des articles selon un mot-clé
Le problème :
– dans chaque rubrique, j’ai un article avec le mot clé « sommaire »
– et d’autres articles
En cliquant sur http://www.lecite.fr/spip.php?rubrique=13, je souhaite avoir :
– pour l’article « sommaire » : le titre et le texte complet
– pour les autres, le titre seulement
– et d’autres articles
Je regarde d’abord le numéro du mot-clé « sommaire », je trouve que c’est le numéro 9. Alors, dans le squelette rubrique.html, je mets ceci :
<BOUCLE_article_complet(ARTICLES){id_rubrique}{id_mot=9}>
[<a class="titre" href="#URL_ARTICLE" title="article_complet">(#TITRE|supprimer_numero)</a>]
<div>#TEXTE</div>
</BOUCLE_article_complet>
Autres articles : <br />
<BOUCLE_autres_articles(ARTICLES){id_rubrique}{!id_mot=9} {par titre}>
[<a class="titre" href="#URL_ARTICLE" title="autres_articles">(#TITRE|supprimer_numero)</a>]<br />
</BOUCLE_autres_articles>
Première remarque : si j’avais mis ceci (sans indiquer id_rubrique) cela aurait sélectionné les articles dans tout le site et pas seulement dans la rubrique ouverte.
<BOUCLE_article_complet(ARTICLES){id_mot=9}>
[<a class="titre" href="#URL_ARTICLE" title="article_complet">(#TITRE|supprimer_numero)</a>]
<div>#TEXTE</div>
</BOUCLE_article_complet>
Autres articles : <br />
<BOUCLE_autres_articles(ARTICLES){!id_mot=9} {par titre}>
[<a class="titre" href="#URL_ARTICLE" title="autres_articles">(#TITRE|supprimer_numero)</a>]<br />
</BOUCLE_autres_articles>
Deuxième remarque : a class=« titre »
Pour définir la présentation du titre, il faut renseigner ... a.titre ... dans une feuille de style, par exemple ici, avec une petite puce bleue :
a.titre {
background-image:url("../IMG/jpg/puce.jpg");
background-repeat:no-repeat;
color:#41291B;
display:block;
font-size:105%;
font-weight:bold;
margin:10px 10px 0 40px;
padding-left:30px;
padding-top:0;
text-decoration:underline;
}
Choix du bandeau selon un mot-clé
Le problème : j’ai deux rubriques principales dans un site www.lecite.fr
– urgences (mot-clé n°1)
– thèmes (mot-clé n°2)
Je souhaite un bandeau différent.
Alors, dans le squelette rubrique.html, j’ai écrit ceci :
[(#REM) urgences]
<B_bandeau_urgences>
<div class="urgences">
<BOUCLE_bandeau_urgences(RUBRIQUES){id_rubrique}{id_mot=1}>
<img src="http://www.lecite.fr/IMG/jpg/bandeau-urgences.jpg">
</BOUCLE_bandeau_urgences>
</div>
</B_bandeau_urgences>
[(#REM) themes]
<B_bandeau_themes>
<div class="themes">
<BOUCLE_bandeau_themes(RUBRIQUES){id_rubrique}{id_mot=2}>
<img src="http://www.lecite.fr/IMG/jpg/bandeau-themes.jpg">
</BOUCLE_bandeau_themes>
</div>
</B_bandeau_themes>
Couleurs de la navigation selon un mot-clé
Le problème : j’ai deux rubriques « associations » et « divers » dans un site www.lecite.fr
– associations (mot-clé n°3)
– divers (mot-clé n°6)
Je souhaite un fond de couleur différente
Alors, dans le squelette inc_rubrique.html, j’ai écrit ceci :
[(#REM) Associations]
<B_rubrique_associations>
<div class="associations">
<BOUCLE_rubrique_associations(RUBRIQUES){racine}{doublons}{par titre}{id_mot=3}>
<div class="titre-associations">
<a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a>
</div>
</BOUCLE_rubrique_associations>
</div>
</B_rubrique_associations>
[(#REM) divers]
<B_rubrique_divers>
<div class="divers">
<BOUCLE_rubrique_divers(RUBRIQUES){racine}{doublons}{par titre}{id_mot=6}>
<div class="titre-Divers">
<a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a>
</div>
</BOUCLE_rubrique_divers>
</div>
</B_rubrique_divers>
Mais pour que ça donne quelque chose, il faut aller dans habillage.css et ajouter ceci :
.titre-associations {
background: #C3D4F0; margin-bottom: 1px; margin-left: 5px;}
.titre-associations a {
font-weight: bold; color: #000;}
et ceci :
.titre-Divers {
background: #C7C7C7; margin-bottom: 15px; margin-left: 5px;}
.titre-Divers a { font-weight: bold; color: #000;}
(bien sûron peut changer les couleurs et les margin).
Cela donne ceci :