Bonjour,
Soit le modèle suivant : modeles/scpicto.html
<svg class="svg-icon"><use xlink:href="#CHEMIN{images/icones/picto-defs.svg}#icon-#ICON"></use></svg>
appelé dans l’admin par :
<scpicto|icon=home>
Quand je l’utilise dans l’admin :
dans le champ texte, le rendu est correct
dans la prévisualisation temps réel en mode édition, le rendu est invisible
dans le champ titre, le rendu est échappé :
Est-ce qu’il y a un moyen de dire à SPIP de ne pas « sécuriser » ce modèle précis ?
Si je fais un fichier modeles/scpicto_fonctions.php et que je mets dedans :
<?php
$GLOBALS['filtrer_javascript'] = 1;
ça marche.
Mais je crains qu’il y ait beaucoup d’effets de bord.
Une solution plus ciblée ?
JLuc
(JLuc)
Août 12, 2023, 7:40
5
Un #FILTRE{restaure_filtrer_javascript}
à la fin du modèle ?
Le pendant du _fonctions
…
Mais c’est très « implementation dependant ».
Je viens de tester : non, ça ne marche pas en SPIP 4.2.4 git
Pardon, je n’avais pas compris.
Donc le modèle :
<svg class="svg-icon"><use xlink:href="#CHEMIN{images/icones/picto-defs.svg}#icon-#ICON"></use></svg>
Et le php dans le fonction du modèle :
<?php
$GLOBALS['filtrer_javascript'] = 1;
function restaure_filtrer_javascript() {
$GLOBALS['filtrer_javascript'] = -1;
}
L’icone s’affiche dans le titre, mais je n’ai pas de moyen de vérifier que c’est bon ailleurs.
Peut-être plus propre avec :
function restaure_filtrer_javascript() {
unset($GLOBALS['filtrer_javascript']);
}
Par contre, je vois que c’est filtré dans le fil d’ariane de l’admin…
Le fil d’ariane utilisant lui : INFO_TITRE…