[TT_NEWS] Tronquer le résumé d’une news sans couper une balise HTML (pas de balise fermante)

Le 19 septembre 2011, par François | Catégorie(s) : TT_NEWS, TYPO3, Typoscript

Imprimer ce post Imprimer ce post

Lorsque vous rédigez une news TT_NEWS , si vous mettez le texte en forme (ex : italique, gras, souligné), et que vous la faites remonter sous forme de résumé (LIST, LATEST), sur une page quelconque de votre site, il peut arriver que la troncature se fasse entre deux balises HTML (ex : balise <em>Ceci est mon texte. [troncature] Ceci est la suite de mon texte.</em>)

Dans ce cas, les balises HTML restent non fermées et s’appliquent donc à tout le contenu qui se trouver après votre actualité dans votre page, ce qui peut s’avérer un peu gênant.

Pour y remédier, deux petites choses à faire :

  1. Installer l’extension PMK HTML Crop, qui va vous permettre d’utiliser une nouvelle fonction « htmlCrop » dont les propriétés sont les mêmes que celle de la fonction « crop », en prenant toutefois en compte les tags HTML de votre contenu.
  2. Placer ces deux lignes de code TS dans votre template principal
plugin.tt_news.general_stdWrap.postUserFunc = tx_pmkhtmlcrop->htmlCrop
plugin.tt_news.displayLatest.content_stdWrap.htmlCrop = 100|...|1

Bien évidemment, tronquer au nombre de caractères que vous le souhaitez (ici 100) et remplacer displayLatest par displayList en fonction de vos besoins.

Bookmark and Share


2 réponses à l'article "[TT_NEWS] Tronquer le résumé d’une news sans couper une balise HTML (pas de balise fermante)"

Avatar

Aurélien

21 septembre 2011 at 10 h 43 min

Pour info, la propriété cropHTML existe de base depuis TYPO3 4.3. cf http://typo3.org/documentation/document-library/references/doc_core_tsref/4.3.1/view/1/5/
Inutile donc d’installer PMK HTML Crop.

Avatar

François

21 septembre 2011 at 11 h 03 min

J’avais pas vu, et en plus ça fonctionne. :)
L’astuce décrite dans l’article pourra tout de même servir aux personnes contraintes à travailler sous une version TYPO3 < 4.3

Laissez un commentaire...