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 :
[(#LOGO_SITE||?{'',' '}) [(#NOM_SITE|supprimer_numero)] ] [(#LOGO_SITE)]
- 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.
<ul>
<BOUCLE_lien(SITES){id_rubrique}{par num nom_site}>
<li><a href = "#URL_SITE" class="spip_out">
<!-- C'est ici qu'on utilise la nouvelle fonction sioui,sinon -->
[(#LOGO_SITE||?{'',' '})
[(#NOM_SITE|supprimer_numero)]
]
<!-- Maintenant on affiche le logo s'il existe -->
[(#LOGO_SITE)]</a> : #DESCRIPTIF</li>
</BOUCLE_lien>
</ul>
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 :
[<img src="./IMG/(#LOGO_SITE|fichier)"
title="[(#NOM_SITE|supprimer_numero)]"
alt="[(#NOM_SITE|supprimer_numero)]"
width="[(#LOGO_SITE||largeur)]"
height="[(#LOGO_SITE||hauteur)]">]
Ce qui donne sur la boucle précédente le code suivant :
<ul>
<BOUCLE_lien(SITES){id_rubrique}{par num nom_site}>
<li><a href = "#URL_SITE" class="spip_out">
<!-- C'est ici qu'on utilise la nouvelle fonction sioui,sinon -->
[(#LOGO_SITE||?{'',' '})
[(#NOM_SITE|supprimer_numero)]
]
<!-- Maintenant on affiche le logo s'il existe avec tous les paramètres tels qu'on le désire. -->
[<img src="./IMG/(#LOGO_SITE|fichier)" title="[(#NOM_SITE|supprimer_numero)]" alt="[(#NOM_SITE|supprimer_numero)]" width="[(#LOGO_SITE||largeur)]" height="[(#LOGO_SITE||hauteur)]">]
</a> : #DESCRIPTIF</li>
</BOUCLE_lien>
</ul>
Remerciements
Merci à Mortimer pour son commentaire dont cette contrib est fortement inspirée. Sa vision du filtre |?{sioui,sinon}
m’ouvre des perspectives fascinantes !
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |