(Faire) développer, évaluer, anticiper les compétences de communication en français langue-culture étrangère (FLE) — celles de demain.

Nous contacter

Boîte Postale 21514
GR-55236 Panorama
Grèce

info@gallika.net

Réseaux

Sous SPIP, forcer le calcul d’une balise et l’afficher plus tard

Σύνοψη

Όταν οι υποσημειώσεις εμφανίζονται διπλές στο SPIP, το πρόβλημα δεν είναι εκεί που νομίζεις. Σε αυτό το άρθρο ανοίγω τα «εντόσθια» του SPIP για να εξηγήσω γιατί οι υποσημειώσεις μπορεί να εμφανίζονται δύο φορές, ακόμη κι όταν το #NOTES καλείται μόνο μία. Το ζήτημα δεν είναι διπλή εμφάνιση, αλλά ο αθροιστικός μηχανισμός συλλογής των σημειώσεων: κάθε φορά που ένα πεδίο υφίσταται τυπογραφική επεξεργασία, οι σημειώσεις του προστίθενται σε μια κοινή «στοίβα». Αν το ίδιο περιεχόμενο υποβληθεί σε επεξεργασία δύο φορές, οι σημειώσεις συλλέγονται δύο φορές. Παρουσιάζω δύο διαφορετικές λύσεις, ανάλογα με τη δομή του σκελετού: μια πρώτη λύση με σιωπηρό υπολογισμό του #NOTES και μια πιο δομική λύση, που εμποδίζει το #DESCRIPTIF να ενεργοποιήσει άθελά του τη συλλογή σημειώσεων (#DESCRIPTIF*|textebrut). Αποτέλεσμα; Καμία διπλή υποσημείωση, σωστή λογική σειρά στο template και κυρίως καλύτερη κατανόηση της εσωτερικής λειτουργίας του SPIP.

Συντεταγμένη με τη βοήθεια τεχνητής νοημοσύνης.

Solution propre pour éviter l'affichage des notes en double.

Découvrez comment j’ai résolu un problème d’affichage en double des notes dans SPIP, tout en gardant un ordre logique dans mon squelette. Une astuce simple qui change tout !

Récemment, j’ai rencontré un petit casse-tête dans SPIP en ajoutant un champ personnalisé #ABSTRACT à l’objet éditorial article. Tout fonctionnait à merveille, sauf lorsque ce champ comportait un appel de note. À ma grande surprise, la note apparaissait deux fois en bas de la page dans mon squelette article.html ! 😲

Après quelques recherches, j’ai compris que cette anomalie ne venait pas d’un double appel à #NOTES, mais du mécanisme interne de collecte des notes dans SPIP.

Dans SPIP, la collecte des notes est cumulative pour toute la page en cours de calcul. Chaque fois qu’un champ est traité typographiquement (passage par le filtre interne « propre »), les notes qu’il contient sont ajoutées à une pile globale. Cette pile n’est pas réinitialisée entre les champs.

Si un même contenu est traité deux fois au cours du calcul de la page, ses notes peuvent donc être collectées deux fois.

Dans mon cas, l’ordre des balises était :

#TEXTE
#ABSTRACT
#NOTES

Première parade (ancienne configuration)

Il y a deux ans, dans une configuration plus simple de mon squelette, j’avais résolu le problème en forçant un premier calcul silencieux des notes grâce au filtre :

[(#NOTES|couper0)]

Ce filtre déclenche le calcul des notes sans les afficher. Le squelette devenait :

#TEXTE
[(#NOTES|couper0)]
#ABSTRACT
#NOTES

Et cela suffisait.

Mais dans ma configuration actuelle de article.html, cette parade ne fonctionnait plus correctement. Le problème ne venait plus seulement de l’ordre des balises.

Seconde parade (configuration actuelle)

En analysant plus finement le squelette, j’ai constaté qu’un autre champ, affiché en amont, pouvait lui aussi déclencher un traitement typographique. Même vide, #DESCRIPTIF était susceptible d’être traité et donc de participer à la mécanique de collecte.

Or dans SPIP, ce n’est pas #NOTES qui analyse le texte : il affiche simplement ce qui a été collecté (et cumulé) lors des traitements précédents.

La solution structurelle a donc consisté à empêcher #DESCRIPTIF de passer par le traitement typographique automatique :

(#DESCRIPTIF*|textebrut)

L’étoile empêche le traitement standard, et |textebrut affiche le contenu sans typographie. Ainsi, aucun recensement parasite des notes ne peut se produire à ce stade.

Résultat

Les notes ne sont plus collectées deux fois. L’ordre logique des balises est respecté. Et le squelette reste propre.

Deux configurations différentes, deux parades … et une meilleure compréhension des entrailles de SPIP au passage [1].

__________

[1À preuve le fait que ces notes ne sont plus affichées en double  !


Professionnel de l’enseignement supérieur avec plus de 35 ans d’expérience en linguistique, expert en méthodologie d’enseignement des langues et évaluation des compétences. …

Réagir

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.