Valider 4c74fa7d rédigé par tcharlss's avatar tcharlss Validation de cerdic
Parcourir les fichiers

Ticket #4291 : faire fonctionner la balise #INFO_INTRODUCTION de la même façon...

Ticket #4291 : faire fonctionner la balise #INFO_INTRODUCTION de la même façon que #INTRODUCTION. (!110)

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](https://git.spip.net/SPIP/spip/src/branch/master/ecrire/inc/filtres.php#L4282) ou [generer_TRUC_entite](https://git.spip.net/SPIP/spip/src/branch/master/ecrire/inc/filtres.php#L4285)

**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 :

1. `#INTRODUCTION` / `#INFO_INTRODUCTION` : récupère les données brutes (champs textes, paramètres `longueur` et `suite`)
2. `generer_introduction_entite()` : normalise les données (tri dans les champs de texte, normalisation des paramètres `longueur` et `suite`)
3.  `filtre_introduction_dist()` : construit l'introduction

**Limites**

1. On ne peut pour l'instant pas passer de paramètre supplémentaires à `#INFO_xxx`, donc pas de `longueur` et de `suite`.
2. propre est déjà fait dans le calcul du fitre `introduction`, donc l'étoile n'a aucun effet (cf. [commentaire](https://git.spip.net/SPIP/spip/src/branch/master/ecrire/public/balises.php#L844)).
3. On ne connaît pas le $connect avec `#INFO_xxx`, cf. [commentaire](https://git.spip.net/SPIP/spip/src/branch/master/ecrire/inc/filtres.php#L4297)

**Tests**

Testé les cas suivants, tout fonctionne :
* `#INFO_INTRODUCTION{article,#ID_ARTICLE}`
* `#INTRODUCTION`
* `#INTRODUCTION{100, ...}`
* `#INTRODUCTION{...}`

Reviewed-on: https://git.spip.net/spip/spip/pulls/110


Co-authored-by: tcharlss's avatartcharlss <tcharlss@bravecassine.com>
Co-committed-by: tcharlss's avatartcharlss <tcharlss@bravecassine.com>
parent a2bcf39f
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter