Un "read more" automatique sur les listes d'articles Joomla

S'il y a bien une fonction très pratique qui manque au système CMS Joomla!, c'est la possibilité de couper automatiquement la longueur des textes d'introduction sur les listes d'articles pour un affichage homogène et un bon alignement. Il y a plusisurs façons de faire, mais pour moi celle-ci est la plus simple, une petite ligne de code suffit. Pour éviter une modification du core qui sera effacée à chaque mise à jour système, il faut d'abord faire une copie du fichier components/com_content/views/category/tmpl/blog_item.php pour le mettre dans templates/VotreTemplate/html/com_content/category/blog_item.php. C'est un "override" classique pour toute modification des fichiers core.

Dans ce fichier, vous trouverez :

<?php echo $this->item->introtext; ?>

Il faut alors la remplacer par :

<?php echo substr(strip_tags($this->item->introtext), 0, 120); ?>

Pour expliquer, on ajoute strip_tags devant $this->item->introtext pour enlever tous les tags html, et que le compte de caractères coupe bien les mots d'introduction et non les balises. Puis, la fonction de coupe est substr. 0 pour le point de départ du compte, et 120 pour le nombre de caractères. Deux nombres qui peuvent être changés pour s'adapter à votre design.

BLOG COMMENTS POWERED BY DISQUS