Twig – Appliquer plusieurs filtres

octobre 5, 2016 11:22 Publié par Laissez vos commentaires

Hello

Vous pouvez appliquer plusieurs filtres à votre variable twig en les ajoutant les uns à la suite des autres :
entity.commentaire | filtre1 | filtre2

Cette méthode ne fonctionne cependant pas si vous utilisez les fitres raw et slice en même temps (si vous voulez par exemple afficher les 50 premiers caractères d’un textarea). Il faudra pour cela remplacer le filtre raw par le filtre striptags :

entity.commentaire|length > 50 ? entity.commentaire|striptags|slice(0, 50) ~ '...' : entity.commentaire

Seulement il y a un nouveau problème, ce filtre ne prend pas en compte les caractères spéciaux. Il faut donc encoder la variable en utf-8. Voici donc le code pour lequel tout fonctionnera :

entity.commentaire|length > 50 ? entity.commentaire|striptags|convert_encoding('UTF-8', 'HTML-ENTITIES')|slice(0, 50) ~ '...' : entity.commentaire

Voilà, pas si compliqué au final mais on ne peut pas l’inventer…
A+

Classés dans :

Cet article a été écrit par admin

Laisser un commentaire