【问题标题】:How can I set a variable with twig?如何用树枝设置变量?
【发布时间】:2018-12-10 09:45:02
【问题描述】:

我想在使用之前设置变量key

  "columns": [
      {% for key, value in columns %}
        {"data": "{{ key }}"},
        {% endfor %}
      { "data": "id" }
    ]

我的做法:

  "columns": [
      {% for key, value in columns %}
      {% set result = '{{ key }}' %}
        {"data": "{{ result }}"},
        {% endfor %}
      { "data": "id" }
    ]

但它不起作用。我收到错误消息:

请求的未知参数'{{ key }}'

【问题讨论】:

  • 顺便说一句……为什么需要它?您添加了 1 个新行,并尝试将 key 设置为具有 3 个以上字符的名称......然后立即回显它......为什么不坚持使用 key? - 也只是做{% set result = key %}
  • @treyBake 因为我想稍后使用 if 语句
  • 您仍然可以在 if 语句中使用 key,在循环内设置 var 以用于循环外的条件是没有意义的 - 它将被设置为循环的最后一次迭代.. . 所以它永远不会是一个准确的条件。如果你想要最后一次迭代,那么只需调用最后一次迭代并对其执行 if

标签: symfony variables foreach datatables twig


【解决方案1】:
{% set result = key %}

据我所知,你想设置result变量的值,key的结果已经设置好了,只是你没有正确访问。

【讨论】:

  • 一个问题,如果我希望变量为{{ key }}.name 怎么办,因为我测试了{% set result = key.name %},但没有成功
  • 从您的代码中,key 只是一个整数或字符串(不是您建议的对象),它代表索引 columns 数组中的每个键。也许您正在寻找 value ?试试{% set result = value %}。因为我不知道key.name 应该是什么,所以恐怕我无法为您提供更多帮助。或许你设置{% set result = value %}后,就可以到value.name了。
  • 非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-11
  • 2013-08-08
相关资源
最近更新 更多