Mon objectif était le suivant : classer une liste de site par numéro, en supprimant le numéro et en affichant soit le logo du sites soit le titre du site si le logo n’existait pas.
J’ai commencé par m’égarer dans les méandres du php quand Mortimer m’a montré un usage très intéressant du nouveau filtre conditionnel [1] "|?{sioui,sinon}".
Principes
Le code conditionnel est le suivant :
le test sur LOGO_SITE retourne une chaîne vide quand il existe, donc le code optionnel après ne sera pas affiché.
la suite n’est affichée que si LOGO_SITE existe.
NdM : la documentation du filtre ? se trouve dans l’article les filtres de spip, celle concernant le code optionnel avant ou après une balise dans l’article la syntaxe des balises SPIP.
Code
Voici la boucle simple. Ici il a été choisi de la présenter sous forme de liste.
Petit plus
Je désirai également maitriser les paramètres de l’image, c’est à dire : indiquer sa hauteur, sa largeur et le nom du site dans les balises alt et title.
Les filtres vont ici aussi nous aider. Il suffit de remplacer [(#LOGO_SITE)] par le code suivant :
Ce qui donne sur la boucle précédente le code suivant :
Remerciements
Merci à Mortimer pour son commentaire dont cette contrib est fortement inspirée. Sa vision du filtre |?{sioui,sinon} m’ouvre des perspectives fascinantes !
Bonjour merci pour la contribe qui me permet de mieux comprendre la logique et le syntaxe de ce nouveau filtre sioui,sinon
Juste deux questions :
* pourquoi y a t-il deux barres pour la définition du filtre si oui si non derriere la balise #logo-document ?
* ?’’ ; ’ ’
est ce que sioui dit : ne rien afficher et sinon dit afficher un espace vide ?
Du coup y a un petit "blanc" généré devant le nom du site non ?