Version de maintenance de ce petit plugin avec ajout d’une balise IfGracefulCut
qui permet de savoir si le texte a été tronqué avec le filtre graceful_cut
ou le filtre cut_string
. Notez que cette version ne remplace pas le filtre cut_string
; il vous faudra donc choisir l’un ou l’autre des filtres.
Présentation
Jusqu’à maintenant, écourter certains textes dans l’affichage des billets de Dotclear, se faisait en utilisant le code suivant (extrait tiré du fichier entry_short.html du jeu de template currywurst) :
<p>
{{tpl:EntryContent encode_html="1" remove_html="1" cut_string="300"}}
<tpl:EntryIfContentCut encode_html="1" remove_html="1" cut_string="300">
<span class="ellipsis"> […]</span>
</tpl:EntryIfContentCut>
</p>
Et ça donnait quelque chose comme ça :
Pour peu que le billet ne comporta pas d’extrait, uniquement un contenu, ce dernier est déshabillé des balises HTML et on coupe brutalement au 300e caractère, tel que précisé dans la balise tpl:EntryContent …. Une balise supplémentaire se charge ensuite de déterminer si le contenu à été coupé et dans ce cas ajoute trois points de suspension entre crochets.
J’avoue que ça fait quelques temps que ça me titille de faire un peu mieux et j’ai déniché une petite fonction un peu plus intelligente (Alan Whipple en est l’auteur), capable de conserver des balises HTML en les refermant au besoin dans l’extrait rendu et d’ajouter à la fin les trois points de suspension si le texte a été découpé.
Le code dans le template se simplifie puisqu’à la place du précédent (voir en début de billet) on a maintenant :
<p>
{{tpl:EntryContent graceful_cut="300"}}
</p>
Et ça donne cela :
Ce qui est un peu mieux et qui permet de conserver, entre autre, les liens ou les images qui existaient au début du contenu.
Attention ce plugin une fois installé est fonctionnel immédiatement, n’a aucune option ni réglage, et est valable pour tous les blogs installés.
Ce billet servira de support pour cette version du plugin.
1 De Tomek -
Bon, il faut que je le mette en place celui-là, c’est tellement plus clean.
2 De Llu -
Ah et du coup, ça garde aussi les notes de bas de page ? Je vais tester ça.
Je connaissais pas ce plugin, c’est top !
3 De Franck -
Yep, tes retours m’intéressent à l’occasion
4 De Franck -
Llu je ne pense pas pour les notes de bas de page, vu qu’elles sont en fin de texte ; d’ailleurs ça doit plutôt laisser une URL vers l’ancre de bas de page qui pointe vers rien puisqu’icelle sera absente (a priori).