Bonjour, néophyte dans spip, je réfléchis à un site de mise en ligne de galerie photographique.
Je souhaite associer à chaque photo une partie du nom original (xxxx.jpg).
Dans mon petit blog précédent en html direct j’utilisais php:
… title=« <?=substr(basename(affiche($nom_photo), '.jpg'),15)?> » /> …
puis insérer (entre des balises ) cette séquence php dans l’article spip ?
Merci de vos avis
précision : « entre les balises html »
Hello, je pense que tu pourras utiliser la balise [(#FICHIER|basename)] dans ta boucle ( La boucle DOCUMENTS - SPIP) ![]()
Ca ressemblerait alors à ça :
<BOUCLE_galerie(DOCUMENTS){critères...}>
...
... title="[(#FICHIER|basename)]" />
...
</BOUCLE_galerie>
Après si je comprends bien tu utilises substr pour récupérer juste une partie du nom de ton fichier, ça doit pouvoir se faire aussi avec le filtre « couper » :
|coupercoupe un texte après un certain nombre de caractères. Il essaie de ne pas couper les mots et enlève le formatage du texte. Si le texte est trop long, alors « (…) » est ajouté à la fin. Ce filtre coupe par défaut à 50 caractères, mais on peut spécifier une autre longueur en passant un paramètre au filtre, par exemple :[(#TEXTE|couper{80})].
Donc quelque chose comme ça ?
[(#FICHIER|basename|couper{15})]
(mais je ne sais pas comment lui faire enlever le « (…) » à la fin, peut-être qu’un.e autre membre du forum a la solution !)
Ah je me rends compte que je comprends peut-être mal ton utilisation de substr() (mon PHP est un peu rouillé…) . Tu récupères la fin de ta chaîne en fait c’est ça (caractère n°15 et suivants) ? Ca je ne vois pas trop comment faire avec un filtre standard (mais c’est peut-être possible, à voir ce qu’en pensent les autres).
Si les filtres standard de Spip ne proposent pas quelque chose qui fait l’affaire, tu peux créer ton propre filtre dans mes_fonctions.php comme décrit ici : Les filtres de SPIP - SPIP (section Ajouter ses propres filtres).
Ca te permet de conserver une syntaxe pur Spip dans tes squelettes (limiter au maximum le PHP).
Effectivement, je note le sujet de la photo dans le nom du fichier après le 15è caractère.
Lors du rafraichissement du site, cela me permet de simplement de remplacer les photos, sans avoir à intervenir sur le source.
Je rédigerai donc une fonction qui s’en chargera.
Merci de ton aide,