Skip to content

WIP Fix #4291 : #INFO_INTRODUCTION

tcharlss a demandé de fusionner gh-3abd0771/5/unknown/refs/pull/5/head vers master

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 :

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).
  3. 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{...}

Rapports de requête de fusion