Php 在Drupal 8中返回深度嵌套的字段变量值
在过去的几个小时里,我一直在试图解决这个问题,但还没有接近一个解决方案。我试图返回D8段落模板内链接目标属性的字符串值: 当我使用机器名(field\u link\u cta)在字段上执行var转储时,执行以下操作Php 在Drupal 8中返回深度嵌套的字段变量值,php,drupal,twig,drupal-8,Php,Drupal,Twig,Drupal 8,在过去的几个小时里,我一直在试图解决这个问题,但还没有接近一个解决方案。我试图返回D8段落模板内链接目标属性的字符串值: 当我使用机器名(field\u link\u cta)在字段上执行var转储时,执行以下操作 {{dump(content.field_link_cta['#items'].getValue())}我得到结果返回值: 我可以遍历变量以返回标题ok,但由于某种原因无法访问链接属性 {{content.field_link_cta[0]['title']}-工作,返回值。 {
{{dump(content.field_link_cta['#items'].getValue())}
我得到结果返回值:
我可以遍历变量以返回标题ok,但由于某种原因无法访问链接属性
{{content.field_link_cta[0]['title']}
-工作,返回值。
{{content.field_link_cta[0]['#options']['#attributes']['#target']}
-不起作用,不返回值。
我错过了什么?既然我已经遍历了变量转储中列出的变量,那么“target”属性字符串不应该像标题一样返回吗?是否有更好的方法检查此变量的上下文
任何指点都将不胜感激
谢谢你的帮助
标记。有两个选项:
备选方案1(更好):
备选案文2:
{{ content.field_link_cta['#items'].getValue().0['options']['attributes']['target']) }}
说明:
您确实执行了{dump(content.field_link_cta['#items'].getValue())}
,您可以看到选项属性和目标数组键没有
。但是,除了转储之外,您从未使用过此选项(选项2)
最好执行{dump(content.field\u link\u cta[0])}
操作,您将看到不同的转储,如:
array (size=4)
'#type' => string 'link' (length=4)
'#title' => string 'link/text' (length=9)
'#options' =>
array (size=1)
'attributes' =>
array (size=3)
'target' => string '_blank' (length=6)
'rel' => string 'rel' (length=3)
'class' =>
array (size=1)
...
这里很明显,title数组键有#
,这就是{{content.field_link_cta[0]['.\title']}
工作的原因
属性和目标数组键没有#
,这就是{content.field_link_cta[0]['#options']['#属性']['#target']}
不起作用的原因,正确的代码将显示在“选项1”下 有两种选择:
备选方案1(更好):
备选案文2:
{{ content.field_link_cta['#items'].getValue().0['options']['attributes']['target']) }}
说明:
您确实执行了{dump(content.field_link_cta['#items'].getValue())}
,您可以看到选项属性和目标数组键没有
。但是,除了转储之外,您从未使用过此选项(选项2)
最好执行{dump(content.field\u link\u cta[0])}
操作,您将看到不同的转储,如:
array (size=4)
'#type' => string 'link' (length=4)
'#title' => string 'link/text' (length=9)
'#options' =>
array (size=1)
'attributes' =>
array (size=3)
'target' => string '_blank' (length=6)
'rel' => string 'rel' (length=3)
'class' =>
array (size=1)
...
这里很明显,title数组键有#
,这就是{{content.field_link_cta[0]['.\title']}
工作的原因
属性和目标数组键没有
#
,这就是{content.field_link_cta[0]['#options']['#属性']['#target']}
不起作用的原因,正确的代码将显示在“选项1”下 这非常有效,谢谢!我仍然无法使用{dump(content.field\u link\u cta[0])}
正确转储数组的内容,但渲染工作正常。它的逻辑是有道理的。转储的输出是什么?你能试试{{dump(content.field\u link\u cta.0)}
吗?这非常有效,谢谢!我仍然无法使用{dump(content.field\u link\u cta[0])}
正确转储数组的内容,但渲染工作正常。它的逻辑是有道理的。转储的输出是什么?你能试试{{dump(content.field\u link\u cta.0)}
?