La leçon précédente nous a appris à afficher des éléments en fonction du contexte. Nous allons ici voir comment ce contexte varie au fur et à mesure des BOUCLES rencontrées.
Modifions notre squelette « tutoriel.html » de la manière suivante :
<BOUCLE_article(ARTICLES)>
#TITRE<BR>
</BOUCLE_article>
Là, on supprime carrément la condition {id_article=1}. Attention : cette BOUCLE va générer une page énorme si votre base contient déjà pas mal d’articles : mieux vaut prendre nos précautions et ajouter tout de suite {0,10} pour limiter aux 10 premiers articles...
<BOUCLE_article(ARTICLES){0,10}>
Résultat : les titres des 10 premiers articles de votre base s’affichent, séparés par un saut de ligne. A partir de là, on voit comment on peut produire le sommaire d’une rubrique : affichons les 10 articles les plus récents appartenant à cette rubrique.
<BOUCLE_article(ARTICLES){id_rubrique}{par date}{inverse}{0,10}>
<a href=#URL_ARTICLE>#TITRE</A><BR>
</BOUCLE_article>
Prenons dans l’ordre :
{id_rubrique} : ne prend que les articles appartenant à la rubrique id_rubrique (cf. ci-dessous pour que cette variable soit définie dans le contexte de notre BOUCLE_article).
{par date}{inverse} : tri par date dans l’ordre décroissant...
{0,10} : ... et prend les 10 premiers résultats.
Enfin, <a href=#URL_ARTICLE>#TITRE</A> va écrire non seulement le titre de l’article mais en plus créer un lien vers cet article.
Reste à invoquer le squelette, en lui passant le contexte id_rubrique=1 :
http://votresite.net/tutoriel.php3?id_rubrique=1.
La magie de SPIP tient dans la combinaison de ce type de fonctionnalités. Si vous êtes arrivé jusqu’ici, c’est gagné !

Vos commentaires
# Le 15 juillet 2001 à 12:48, par ?
Bjour ....
Comment mettre en place sur spip les fonctions :
* imprimer la page
* ajouter au favoris
* envoyer a un ami
... merci
Christophe
# Le 30 juillet 2001 à 00:20, par projekt883
ben ... comme toujours. Le mode d’emploi le dit bien clairement : On tape du HTML avec une sorte de PHP simplifié dans les squelettes. Il suffit donc d’insérér une lien vers une page php très basique afin de permettre d’imprimer une page. Si on se limite à modifier un peu les pages modèle la fonction d’impression me semblerait un peu surfaite.
Par contre pour envoyer une page il y a deux méthodes :
Si on suppose que le client travaille avec des softs Micros... il est possibel d’appeler des fonctions VBA ou VBScript qui lancent l’envoi par le client mail ...
Si ça doit être plus universel il faut recupérer le contenu de la page dans une variable PHP et saisir les adresses mail et les commentaires , puis tout envoyer en utilisant la fonction mail() de PHP...
Klaus