0
twigテンプレートの配列の#optionsキーにアクセスするにはどうすればよいですか?twigテンプレートの#optionsキーへのアクセス
言語が現在のものかどうかを確認してから、それをアクティブに設定しようとしています。
私のコードは次のようになります。
<ul class="headerbar__text--language navbar-right">
{%- for key, item in links -%}
{%
set link_class = [
item.set_active_class ? 'active',
]
%}
<li{{ item.attributes.addClass(key|clean_class).addClass(link_class) }}>
{{ dump(item) }}
{%- if item.link -%}
{{ item.link }}
{%- elseif item.text_attributes -%}
<span{{ item.text_attributes }}>{{ item.text }}</span>
{%- else -%}
{{ item.text }}
{%- endif -%}
</li>
{%- endfor -%}
しかし、クラスが設定されていません。あなたが見ることができるように、そこにダンプされ、結果は以下の通りです:私はlink['#options']
またはlink.options
またはあなたがlink.set_active_class
を見ることができるようにそれにアクセスするためにしようと試みてきました
array (size=4)
'link' =>
array (size=5)
'#type' => string 'link' (length=4)
'#title' => string 'German' (length=6)
'#options' =>
array (size=5)
'language' =>
object(Drupal\language\Entity\ConfigurableLanguage)[1623]
...
'attributes' =>
array (size=1)
...
'query' =>
array (size=0)
...
'ajax' => null
'set_active_class' => boolean true
'#url' =>
object(Drupal\Core\Url)[1629]
protected 'urlGenerator' =>
object(Drupal\Core\Render\MetadataBubblingUrlGenerator)[227]
...
protected 'urlAssembler' => null
protected 'accessManager' => null
protected 'routeName' => string '<front>' (length=7)
protected 'routeParameters' =>
array (size=0)
...
protected 'options' =>
array (size=0)
...
protected 'external' => boolean false
protected 'unrouted' => boolean false
protected 'uri' => null
protected 'internalPath' => string '' (length=0)
protected '_serviceIds' =>
array (size=0)
...
'#ajax' => null
'text' => string 'German' (length=6)
'text_attributes' =>
object(Drupal\Core\Template\Attribute)[1646]
protected 'storage' =>
array (size=1)
'class' =>
object(Drupal\Core\Template\AttributeArray)[1647]
...
'attributes' =>
object(Drupal\Core\Template\Attribute)[1649]
protected 'storage' =>
array (size=3)
'hreflang' =>
object(Drupal\Core\Template\AttributeString)[1650]
...
'data-drupal-link-system-path' =>
object(Drupal\Core\Template\AttributeString)[1651]
...
'class' =>
object(Drupal\Core\Template\AttributeArray)[1959]
...
、それらのすべては、NULLを返します。
どのように私はそれらの属性にアクセスできますか?
アドバイスありがとうございます!
をああ、.linkを逃した:Dのおかげでたくさん! – mastercheef85