myfield est un champ de texte brut. {{ content.field_myfield }}
rend le champ avec le balisage HTML et l'étiquette de champ.
Comment rendre la valeur brute du champ? {{ content.field_myfield.value }}
ne fonctionne pas.
{{ entity.field_name.value }}
pour obtenir la vraie valeur brute, inclut les balises et l'encodage.
{{ node.body.value }}
<p>Batman & Robin</p>
{{ content.field_name.0 }}
pour obtenir la valeur brute moins les balises et l'encodage.
{{ content.body.0 }}
Batman & Robin
brut
Ce filtre doit être évité autant que possible, en particulier si vous sortez des données qui pourraient être saisies par l'utilisateur. Voir cette page pour plus d'informations sur l'échappement automatique dans Drupal 8.
source: Filtres - Modification des variables dans les modèles Twig
Le filtre brut marque la valeur comme étant "sûre", ce qui signifie que dans un environnement avec l'échappement automatique activé, cette variable ne sera pas échappée si raw est le dernier filtre qui lui est appliqué.
source: documents officiels de Twig
Par exemple, vous pouvez utiliser:
{{ node.body.value|striptags }}
{{ paragraph.field_text.value|striptags }}
Le problème avec l'utilisation des striptags de twig est le double encodage des entités html, pas le balisage, donc & devient & puis & amp; - Berdir
<
et>
ils s'affichent correctement. L'esperluette est probablement déjà à échappement unique avant de la sortir. Mais la question concerne un champ de texte brut , pas un champ de texte formaté traité par des filtres de texte. (Pour répondre à cette question non posée, la valeur brute (si quelqu'un le veut vraiment) serait toujours présente.value
et elle serait correctement échappée par Twig, pour des raisons de sécurité, car vous ne devriez jamais sortir un champ de texte formaté non filtré)&
sortie dans votre exemple est erronée, cela ne se produit pas dans l'échappement automatique à moins que le contenu du champ ne soit déjà échappé une fois).Vous pouvez utiliser le module Twig Field Value dans ce cas. Après avoir installé ce module, vous aurez accès à des données partielles à partir de tableaux de rendu de champ. Par exemple.
etc. Plus d'infos sur la page des projets
la source
obtenir la valeur du champ brut dans un modèle de brindille
la source