web-dev-qa-db-fra.com

Comment imprimer une valeur de champ dans node.html.twig?

Je veux imprimer une valeur de champ dans node.html.twig. Lorsque j'utilise {{ content.field_test }}, il imprime le balisage HTML complet du champ.

Comment puis-je simplement imprimer la valeur du champ?

3
RobinSon

Bien que vous puissiez imprimer la première valeur du champ sans le conteneur div environnant avec {{ content.field_test[0] }}, ce n'est pas un moyen recommandé de le faire.

Le balisage que vous souhaitez modifier se trouve dans le modèle de champ. Si vous ne voulez pas par exemple de div autour du champ field-test, puis placez un modèle de champ dans le dossier de modèles du thème:

champ - champ-test.html.twig:

<span{{ attributes }}>
  {%- for item in items -%}
    {{ item.content }}
  {%- endfor -%}
</span>

L'avantage que vous obtenez est que cela génère des champs à valeurs multiples et que vous conservez les attributs du champ, ce qui est important si vous souhaitez que le thème fonctionne avec les modules principaux et tiers pour les fonctionnalités côté client comme, par exemple, quickedit.

7
4k4

CA aidera:

Twig Field Value : Cela leur donne plus de contrôle sur la sortie sans forer profondément dans le tableau de rendu ou utiliser des fonctions de prétraitement.

5
echo

C'est un peu plus tard, mais l'utilisation de {{node.field_test.value}} fonctionne.

0
damato