Que serait-on sans squelette ? Une masse informe.
Que serait un site sous SPIP, sans squelette ? Une masse d’articles informe.
CQFD : chez SPIP, le squelette sert à mettre en forme les articles.
Un squelette SPIP, c’est un fichier html, avec du code html.
Pour se faciliter le travail, on utilise donc un éditeur de code. Par exemple, au hasard, Dreamweaver, Notepad, Textedit (si vous en connaissez d’autres, merci de laisser un commentaire).
Dans ce fichier html, on met des codes spécifiques à SPIP, dont la liste est publiée sur http://www.spip.net/@ (index magique que tout développeur SPIP garde précieusement dans ses favoris).
Par exemple, une boucle est un code spécifique à SPIP. Elle permet de faire une requête à la base de données et de mettre en forme le résultat de la requête.
On insère la boucle dans la page html, à n’importe quel niveau. Il est cependant préférable de la placer en haut de la page.
La boucle obéit à une syntaxe particulière, voir La syntaxe des boucles.
Petit à petit, sous nos yeux zémerveillés, une boucle s’est construite
Cher SPIP, va me chercher l’article « article principal » dans la table ARTICLES dont l’identifiant est id_article :<BOUCLE_articleprincipal(ARTICLES){id_article}>
Et puis, tant que tu y es, pourrais-tu, s’il te plait, aller chercher le titre de cet article et l’afficher ?<h1>#TITRE</h1>
Hé, n’oublie pas le texte !<div>#TEXTE</div>
J’ai réfléchi, et ce serait vraiment bien si tu pouvais faire la même chose avec tous les articles de cette rubrique :<BOUCLE_memerubrique(ARTICLES){id_rubrique}>
Tiens, l’article que je suis en train de lire est mentionné 2 fois sur la page ! Une fois ça suffit, tu peux l’enlever... mais m’afficher la liste d’articles par ordre alphabétique :<BOUCLE_memerubrique(ARTICLES){id_rubrique}{exclus}{par titre}>
Merci, tu es vraiment génial ;)
Pour faciliter la navigation dans mon site, j’aimerais que le titre de l’article qui s’affiche soit un lien vers cet article. Tu sais faire ça, dis SPIP ?
<BOUCLE_memerubrique(ARTICLES){id_rubrique}{exclus}{par titre}
<h1><a_href="URL_ARTICLE">#TITRE</a></h1>
Je sais, j’abuse, mais ce sera la dernière chose que je te demanderai … pour ce soir, promis. J’ai aussi besoin de la date de ces articles, tu peux me l’afficher s’il te plait ?
<BOUCLE_memerubrique(ARTICLES){id_rubrique}{exclus}{par titre}
<h1><a_href="URL_ARTICLE">#TITRE</a> - [{#DATE|affdate_jourcourt}]</h1>
</BOUCLE_memerubrique>
Merci, et n’oublie pas de fermer la porte en sortant :</BOUCLE_articleprincipal>
Pour mémoire :
-
{ }
: il s’agit de filtres -
( )
: détermine la table qui est interrogée dans la base de données -
{par titre}
: classement par ordre alphabétique -
{!par titre}
: classement par ordre alphabétique inversé -
{par date}
: par ordre chronologique. -
{!par date}
: par ordre chronologique inversé -
[{#DATE|affdate_jourcourt}]
: filtre qui formate la date [1]
Le 9 Février, nous travaillerons sur les outils. Par exemple, easyPhp…
Apportez vos utilitaires !