在 Symfony 中显示带有变量的数组
Show array with variable in Symfony
在我的 symfony 项目中,我从控制器传递了一个名为 'button' 的变量。
在这种情况下,'button' 的值为 'content',但并非总是如此。
我需要它来显示'.html.twig'文件中phrase.content的内容,但我不能。
index.html.twig:
按钮 = 'content'
{% for frase in frases %}
<tr>
<th scope="row">{{ frase.id }}</th>
<td>{{ frase. ~ button }}</td>
</tr>
{% endfor %}
我试过这样,但它给了我以下错误:
Expected name or number. (500 Internal Server Error)
----编辑----
如果我直接输入 frase.content 就可以,但是如果我输入 frase[button],就会报错
Impossible to access a key" content"on an object of class" App \ Entity \ Frase"
that does not implement ArrayAccess interface.
frase.
期待点后的内容。 twig 中的这样一个点有点像 's
:在 table header 中你要求 frase's id
。在 table 定义 (td) 元素中,twig 本质上认为:
frase's " ~ button"?? I was expecting a property!
如果 button
包含您要显示的 属性 的名称,您可以使用:
frase[button]
在那种情况下,如果 button
是 "content",twig 会将其读作
frase's content
PS:你是说 {% for phrase in phrases %}
吗?
我相信这个 twig 的检查可以解决您的问题:
{% if foo.bar is defined %}
参见文档:https://twig.symfony.com/doc/2.x/tests/defined.html
另外如果你想访问对象的 属性 你可以使用 twig 函数
attribute
Link https://twig.symfony.com/doc/2.x/functions/attribute.html
所以在你的情况下它会是这样的:
{{ attribute(frase, button) ?? '' }}
您还可以另外检查是否定义了 'button' 变量
在我的 symfony 项目中,我从控制器传递了一个名为 'button' 的变量。
在这种情况下,'button' 的值为 'content',但并非总是如此。
我需要它来显示'.html.twig'文件中phrase.content的内容,但我不能。
index.html.twig:
按钮 = 'content'
{% for frase in frases %}
<tr>
<th scope="row">{{ frase.id }}</th>
<td>{{ frase. ~ button }}</td>
</tr>
{% endfor %}
我试过这样,但它给了我以下错误:
Expected name or number. (500 Internal Server Error)
----编辑----
如果我直接输入 frase.content 就可以,但是如果我输入 frase[button],就会报错
Impossible to access a key" content"on an object of class" App \ Entity \ Frase"
that does not implement ArrayAccess interface.
frase.
期待点后的内容。 twig 中的这样一个点有点像 's
:在 table header 中你要求 frase's id
。在 table 定义 (td) 元素中,twig 本质上认为:
frase's " ~ button"?? I was expecting a property!
如果 button
包含您要显示的 属性 的名称,您可以使用:
frase[button]
在那种情况下,如果 button
是 "content",twig 会将其读作
frase's content
PS:你是说 {% for phrase in phrases %}
吗?
我相信这个 twig 的检查可以解决您的问题:
{% if foo.bar is defined %}
参见文档:https://twig.symfony.com/doc/2.x/tests/defined.html
另外如果你想访问对象的 属性 你可以使用 twig 函数
attribute
Link https://twig.symfony.com/doc/2.x/functions/attribute.html
所以在你的情况下它会是这样的:
{{ attribute(frase, button) ?? '' }}
您还可以另外检查是否定义了 'button' 变量