我有一個對象的變量,只從內部一個for x in y
環路訪問時包含數據。嫩枝變量範圍 - 全球唯一可用的內部循環
這是一個字段模板內發生了Drupal的主題8,其目的是訪問同級字段的值。
簡單的代碼片段:
{% 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 }}
輸出:
Inside loop = normal
Outside loop =
我會理解的,如果這是變量的循環中設置是外面不可用,但是這是不相關的,取自模板本身的_context
。
我在一個簡單的一次性環路for
循環中引用變量的解決方法解決了我的直接問題,但我很想知道這裏發生了什麼!
(我也寧願比for x in [1]
方法更清潔的方式,但通常如果你只想要的東西執行一次,你只是寫出來!)
不作任何一樣簡單感。你應該提供一些額外的代碼來這裏找出真正的問題 – DarkBee
這是沒有意義的,所以這個問題:) 它是一個Drupal 8主題有關的領域模板 - 這個代碼訪問的兄弟字段中設置的值( 'field_section_theme')。 有沒有*代碼*上下文來提供那些線,隔離,複製的陌生感。(我在創建模板的一開始就遇到了這個問題。) – Jimaginary
並非每個模板都提供了頁面可用的所有變量。這取決於您使用的是哪個模板,並且應該在模板頂部的註釋中顯示。 – garek007