Ticket #4291 : faire fonctionner la balise #INFO_INTRODUCTION de la même façon que #INTRODUCTION.
(Reprise de la PR !5 (merged) qui est en rade)
Objectif
Faire fonctionner la balise #INFO_INTRODUCTION
de la même façon que #INTRODUCTION
Actuellement, cette balise ne renvoie rien, à part si l'objet possède un champ « introduction ». Il serait préférable d'avoir la vraie introduction calculée par SPIP en fonction des autres champs.
Fonctionnement actuel
La balise #INFO_xxx
renvoie tout simplement le champ « xxx » de l'objet, s'il existe.
Les cas particuliers sont gérés de 2 façons :
- Certains sont gérés en interne : la date et le titre
- Les autres peuvent avoir des traitements personnalisés en créant des fonctions generer_TRUC_TYPE ou generer_TRUC_entite
Solution
Ce PR ajoute donc une fonction generer_introduction_entite
pour prendre en charge les introductions.
Cette fonction est mutualisée entre la balise normale #INTRODUCTION
et #INFO_INTRODUCTION
.
En conséquent, une partie des choses qui étaient faites dans #INTRODUCTION
est déportée dans cette fonction.
Pour résumer, voici l'ordre d'appel et le rôle des balises et fonctions :
-
#INTRODUCTION
/#INFO_INTRODUCTION
: récupère les données brutes (champs textes, paramètreslongueur
etsuite
) -
generer_introduction_entite()
: normalise les données (tri dans les champs de texte, normalisation des paramètreslongueur
etsuite
) -
filtre_introduction_dist()
: construit l'introduction
Limites
- On ne peut pour l'instant pas passer de paramètre supplémentaires à
#INFO_xxx
, donc pas delongueur
et desuite
. - propre est déjà fait dans le calcul du fitre
introduction
, donc l'étoile n'a aucun effet (cf. commentaire). - On ne connaît pas le $connect avec
#INFO_xxx
, cf. commentaire
Tests
Testé les cas suivants, tout fonctionne :
#INFO_INTRODUCTION{article,#ID_ARTICLE}
#INTRODUCTION
#INTRODUCTION{100, ...}
#INTRODUCTION{...}