2017-10-13 13 views
1

J'ai un noeud avec une collection de champs, qui contient un champ de taxonomie. J'aimerais obtenir la valeur brute ou l'ID de ce champ de taxonomie, à utiliser dans une instruction conditionnelle et fournir un balisage différent pour différentes valeurs.Collection de champs Drupal 8 - comment obtenir la valeur brute d'un champ de taxonomie à partir de field.html.twig?

.: par exemple

{% set imageType = item.content.field_image_type|raw %} 

{% if imageType == 'web-desktop' %} 
    // markup A 
{% else %} 
    // markup B 
{% endif %} 

La variable fonctionne correctement dans la mesure où je reçois le résultat attendu lors du rendu, cependant le test retourne toujours faux.

Qu'est-ce que je fais mal?

Merci!

+0

Comment vérifiez-vous la variable? Avez-vous essayé '{{dump (imageType)}}' – DarkBee

+0

Merci pour la réponse; J'ai juste jeté, et il semble que la valeur retournée soit un tableau. Voici la sortie: 'array (2) {[" #plain_text "] => chaîne (11)" web-desktop "[" #cache "] => array (3) {[" tags "] => tableau (1) {[0] => chaîne (16) "taxonomy_term: 67"} ["contexts"] => array (1) {[0] => chaîne (16) "user.permissions"} ["max- age "] => int (-1)}}' –

+0

Et c'est là que réside la réponse! Merci pour le conseil. –

Répondre

1

Grâce à @DarkBee pour la pointe, j'ai jeté la variable et utilisé ['#plain_text'] à partir de la sortie; le test fonctionne maintenant comme prévu. Pour référence, voici le code:

{% set imageType = item.content.field_image_type[0]['#plain_text'] %}