J'ai une variable d'objet qui ne contient que des données à l'accès à l'intérieur une boucle for x in y
.Variable variable Twig - globale uniquement disponible à l'intérieur de la boucle
Cela se produit dans un modèle de champ pour un thème Drupal 8, où l'objectif est d'accéder à la valeur d'un champ frère.
extrait simplifié:
{% for x in [1] %}
Inside loop = {{ _parent.element['#object'].get('field_section_theme').value }}
{% endfor %}
Outside loop = {{ _parent.element['#object'].get('field_section_theme').value }}
Sortie:
Inside loop = normal
Outside loop =
je comprendrais si une variable qui a été mis dans une boucle était disponible à l'extérieur, mais cela est sans rapport, tiré de le _context
du modèle lui-même.
Mon contournement de l'emballage d'une référence à la variable dans une simple boucle for
a résolu mon problème immédiat, mais j'aimerais bien comprendre ce qui se passe ici!
(Je voudrais aussi préfèrent une manière plus propre que l'approche for x in [1]
, mais normalement si vous ne souhaitez que quelque chose exécuté une fois que vous écrivez juste dehors!)
ne fait pas sens. Vous devez fournir du code supplémentaire pour comprendre le vrai problème ici – DarkBee
Cela n'a aucun sens, d'où la question :) C'est un modèle de champ pour un thème Drupal 8 - ce code accède à la valeur définie dans un champ frère ('field_section_theme'). Il n'y a pas de contexte * code * à fournir car ces lignes, isolément, reproduisent l'étrangeté.(Je l'ai rencontré au tout début de la création du modèle.) – Jimaginary
Toutes les variables disponibles pour une page ne sont pas disponibles dans tous les modèles. Cela dépend du modèle que vous utilisez et doit apparaître dans les commentaires en haut du modèle. – garek007