Mais pourquoi donc ne voudrait-on pas voir les appels de note ?
Par exemple, dans l’affichage d’une rubrique, on affiche généralement la balise #CHAPO
ou #INTRODUCTION
de chacun des articles de la rubrique.
Généralement on n’affiche pas à cet endroit-là les #NOTES
.
Donc, si le texte contient une note de bas de page, on verra l’appel de note, mais pas la note.
Comment faire ?
Créons la fonction PHP |supprimer_appel_notes
à cet effet.
Fonction qui consiste à remplacer la constante _NOTES_RACCOURCI
par rien du tout ""
.
function supprimer_appel_notes($texte){
$texte = preg_replace(_NOTES_RACCOURCI,"",$texte);
return $texte;
}
Nous allons déposer cette fonction dans le fichier mes_fonctions.php, à créer, s’il n’existe pas, et à déposer dans le dossier squelettes.
Prenons l’exemple de suppression des appels de notes dans la balise #INTRODUCTION
, ce serait similaire pour toute balise, #CHAPO
, #DESCRIPTIF
, #TEXTE
, etc., du squelette en question.
À l’origine nous avons la balise [(#INTRODUCTION)]
.
Nous lui appliquons le filtre |supprimer_appel_notes
:
[(#INTRODUCTION|supprimer_appel_notes)]
Mais ça ne marche pas !
En effet, la mise en forme que fait automatiquement SPIP sur cette balise ne permet pas au filtre de s’appliquer APRÈS ce passage.
Nous allons donc empêcher le traitement de mise en forme automatique.
Pour cela, SPIP met à notre disposition l’étoile
*
attachée à la balise.
Car #INTRODUCTION*
affiche le contenu brut de la balise, excepté la protection contre javascript.
Résultat de notre balise :
[(#INTRODUCTION*|supprimer_appel_notes)]
Mais en faisant cela, nous avons supprimé l’application par défaut du filtre |propre
[1], il reste encore à le remettre.
Et voilà donc la forme de la balise, au final, dans le squelette :
[(#INTRODUCTION*|supprimer_appel_notes|propre)]
Pour mémoire, la solution donnée initialement, ne pas afficher les appels de note, solution par CSS
Cette solution permet de ne pas afficher pas les appels de notes, mais seulement de ne pas les afficher. Elle ne supprime pas les appels de notes.
On voit donc ces appels dans le code source final.
La classe attribuée aux appels de notes, par défaut dans les squelettes, est .spip_note_ref
.
Pour notre part, nous allons créer une classe supplémentaire .appel_note_invisible
.
Dans la feuille de style perso on va rendre invisible à l’écran les éléments auxquels on attribue cette classe :
.appel_note_invisible .spip_note_ref {display: none;}
Dans le squelette, on va attribuer la classe .appel_note_invisible
à la balise qui affiche le texte dans lequel on ne veut pas voir apparaître les appels de notes.
[<span class="appel_note_invisible">(#INTRODUCTION)</span>]
Ici, c’est la balise #INTRODUCTION
[2] qui n’affichera pas les appels de note que le texte peut contenir.
Le code source
En regardant le code source de la page, vous y verrez toujours l’appel de note.
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 : |