SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [uk] [vi] [zh] Espace de traduction

Télécharger

Des filtres

Subtilités squelettiques

Juin 2001 — mis à jour le : Décembre 2011

Toutes les versions de cet article :


Si les BOUCLES permettent de structurer la page de manière logique, reste à présenter les données de manière esthétique. Question dizahïgne SPIP ne peut rien pour vous, mais sachez user de ses philtres...

Une donnée stockée dans la base de données se présente comme un bloc de texte, et on peut avoir envie de manipuler sa valeur avant de l’afficher à l’écran. Les filtres sont faits pour ça :

-  les filtres les plus utilisés (ils sont appelés automatiquement) sont |typo et |propre ; le premier est un correcteur typographique, dont la mission principale est d’ajouter des espaces insécables où il en faut (cf. l’aide en ligne de SPIP) ; le second s’intéresse aux paragraphes, aux raccourcis SPIP (italiques, gras, intertitres, etc.) - il n’est appliqué par défaut qu’aux textes longs (#TEXTE, #CHAPO, etc.)

-  d’autres filtres sont très utiles : citons |majuscules (à la fonctionnalité évidente), |justifier ou |aligner_droite (qui définissent l’alignement du texte par rapport aux bords verticaux), ou encore l’ésotérique |saison (qui affiche « été » si la variable est une date comprise entre le 21 juin et le 20 septembre)...

Pour utiliser un filtre il faut entourer la variable de parenthèses et de crochets (on verra plus tard les implications) : [blah blah (#VARIABLE|filtre) bloh bloh]

On peut enchaîner les filtres les uns à la suite des autres : ainsi [(#DATE|saison|majuscules)] affichera-t-il « HIVER ».

Exercice portant sur l’ensemble des leçons précédentes : Afficher en majuscules les titres des 10 articles les plus récents de la rubrique passée en contexte, et mettre en tête de page la saison courante (c’est-à-dire la saison à laquelle a été publié l’article le plus récent de toute la base).

...

Pourquoi ces crochets ? Supposons que votre base contient des articles datés et d’autres non datés. La variable #DATE vaut « 2001-07-01 10-53-01 » (date au format mySQL) dans le premier cas, et « 0000-00-00 00-00-00 » dans le second. Pour afficher la date dans un joli (?) cadre, on va utiliser, dans le squelette, les lignes suivantes :

Ici le filtre |affdate affiche la date en lettres (au format « 1er juillet 2001 »), mais renvoie une chaîne vide si la date est inconnue (égale à « 0000... »). Les crochets délimitent ce qu’il faut afficher autour de la date si le resultat entre parenthèses n’est pas une chaîne vide.

Résultat : seuls les articles datés provoquent l’affichage d’un tableau contenant la date. Un squelette bien construit définira précisément ce qu’il faut afficher ou pas en fonction du contenu... Les filtres servent aussi à ça.

P.-S.

Notons que certains filtres de présentation peuvent être avantageusement remplacés par des feuilles de style. Ainsi |majuscules est équivalent à l’attribut CSS « text-transform: uppercase », et |justifier à « text-align: justify ».

Lire Les feuilles de style de SPIP pour plus de détails sur les styles CSS offerts par SPIP.


Voir le squelette de cette page Site réalisé avec SPIP | Espace de traduction | Espace privé