Réglages pour la balise #INTRODUCTION

Balise revue par le Couteau Suisse

Présentation

Cet outil est une fonctionnalité du plugin Le Couteau Suisse que vous pouvez trouver ici : Le Couteau Suisse.

Pour avoir accès au paramétrage de la balise #INTRODUCTION, il vous faut donc avoir préalablement installé ce plugin, puis activé l’outil « Balise #INTRODUCTION » sur la page d’administration du plugin en espace privé.

La balise #INTRODUCTION proposée par SPIP et placée dans les squelettes, sert en général à la une d’un site ou dans les rubriques, à produire un résumé des articles, des brèves, etc.. La mise en forme du texte original est supprimée et seul un contenu tronqué apparaît, invitant le lecteur à aller plus loin.

Exemple d’utilisation à l’intérieur d’une boucle SPIP :

[<div class="intro">(#INTRODUCTION)</div>]

Dans le cas très précis des articles, cette balise renvoie le descriptif intégral, s’il existe. Sinon, elle renvoie un nombre limité de caractères du corps de l’article précédé du chapô. Si ce texte doit être coupé, alors est ajoutée une chaine de caractères spéciale (appelée «points de suite») indiquant au lecteur que le résumé produit est un texte tronqué...

Il est aussi possible de sélectionner une partie du texte pour qu’il soit pris en compte dans l’introduction grâce aux balises SPIP <intro></intro>. Tapez par exemple :

{{{Ceci est mon titre}}}

Voici du texte. <intro>Voila ici mon texte d'introduction.</intro>

Et ici la suite de l'article...

La balise #INTRODUCTION placée dans votre squelette donnera alors :

Voila ici mon texte d'introduction.

Options

-  Longueur du résumé
Vous pouvez préciser (en pourcentage par rapport à la valeur utilisée par défaut) la longueur du texte renvoyé par balise #INTRODUCTION. Une valeur nulle ou égale à 100 ne modifie pas l’aspect de l’introduction et utilise donc les valeurs par défaut suivantes : 500 caractères pour les articles, 300 pour les brèves et 600 pour les forums ou les rubriques.
Pour éviter de tronquer le descriptif (s’il existe) : voir plus bas le paragraphe La balise historique de SPIP.

-  Points de suite
Par défaut, les points de suite ajoutés au résultat de la balise #INTRODUCTION si le texte est trop long sont [1] : « &nbsp;(...) ». Vous pouvez grâce au Couteau Suisse préciser votre propre chaîne de caractère, celle qui indique au lecteur que le texte tronqué a bien une suite.

-  Points de suite cliquables
Le Couteau Suisse peut fabriquer un lien hypertexte sur les points de suite définis ci-dessus afin de mener le lecteur vers le texte original. Exemple pour un article : « Lire la suite de l’article… ». Si vous désirez un saut de ligne, ajoutez le raccourci SPIP adéquat (tiret bas suivi d’un espace) : « _ Lire la suite de l’article… ».
Vous pouvez ici préciser à ce que le plugin ajoute systématiquement le lien, même si le texte n’a pas été tronqué à cause de sa trop grande longueur. Par défaut, les liens cliquables n’apparaissent que si le résumé trouvé a été tronqué.

Taille fixe

Afin de préciser une taille particulière à un résumé, la balise #INTRODUCTION reconnait un paramètre numérique qui fixera le nombre caractère à conserver, tout en ignorant le réglage général expliqué ci-dessus : ’Longueur du résumé’.

Attention : dans le cas des articles et en fonction de la configuration, le descriptif pourra lui aussi être tronqué (cf plus bas).

L’exemple suivant affichera dans tous les cas un résumé de 100 caractères maximum : [(#INTRODUCTION{100})].

Fonctionnement

Le fichier actif de l’outil « Balise #INTRODUCTION » est : introduction_fonctions.php. Lorsque l’outil est activé, ce fichier est inclus par SPIP au même titre que n’importe quel fichier mes_fonctions.php.

Le principe est ici de surcharger la balise #INTRODUCTION prévue par SPIP grâce à la fonction balise_INTRODUCTION(), ce qui permet de gérer un rendu personnalisé du résumé renvoyé par la balise. Pour rappel, les textes concernés ici sont : les articles, les brèves, les messages de forum et les rubriques.

Attention : Avant d’activer cette fonctionnalité, vérifiez bien qu’aucune fonction balise_INTRODUCTION() n’existe déjà dans votre squelette ou vos plugins, la surcharge, qui ne peut avoir lieu qu’une seule fois, produirait alors une erreur d’exécution. Mais rassurez-vous, ce cas est quand même très rare.

La balise historique de SPIP

Depuis toujours SPIP tronque le résultat de la balise #INTRODUCTION constituée de (chapo+texte) mais jamais du descriptif seul s’il est rempli par le rédacteur. La mise en place du paramètre sur la balise (SPIP v2) n’a rien changé à ce fonctionnement et l’intérêt est de laisser la maîtrise au rédacteur quand c’est nécessaire. En particulier, un descriptif non coupé peut conserver des mises en forme HTML (gras, italique…) alors que du texte coupé perd toute mise en forme.

Le Couteau Suisse a choisi de tronquer systématiquement un résultat trop long, quel qu’il soit, afin d’obtenir une mise en forme plus homogène. Cependant, la case de configuration «S’il existe, ne jamais tronquer le descriptif de l’objet» vous permet de reproduire le comportement de SPIP en débrayant ce fonctionnement, et donc de ne couper le résultat qu’en cas d’absence du descriptif seul.

Footnotes

[1« &nbsp; » : Il s’agit du code HTML d’un espace insécable (pas de retour à la ligne entre le dernier mot de l’introduction et les points de suite «(...)»

updated on 2 October 2019

Discussion

12 discussions

  • 1

    Bonjour,
    J’obtiens une mention bizarre “[lien_inctroduction ?]” dans la boite “Points de suite cliquables :” lorsque j’active cette balise et je ne peux pas la modifier ??!!

    Sinon le couteau suisse c’est trop fort !
    merci
    dd

    • t’es sûr d’avoir mis à jour ton plugin !?

    Reply to this message

  • 2

    Bonjour,

    est-il possible de modifier le fonctionnement de cette balise de manière à ce qu’un article qui ne dépasse pas la valeur définie (ici 500 caractères) soit affiché en totalité? C’est-à-dire qu’on donne un mode de fonctionnement conditionnel à cette balise pour que seuls les articles dont la longueur dépasse une certaine valeur soient coupés? Merci.

    • Comment ça en totalité ? comme si on utilisait #TEXTE ?

      C’est peut-être proggrammable en SPIP, ça, non ? Il suffirait de faire un test sur [(#TEXTE|texte_brut|strlen)] (non testé...)

    • Mais j’avoue que je comprends pas trop la question... Cette balise ne coupe pas les textes de taille inférieure à celle qu’on peut définir...

    Reply to this message

Ajouter un commentaire

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom