Rey*_*rPM 11 php symfony twig symfony-2.4
我正在尝试driverid
使用set
,作为for driver in assigned.driver
循环中的var 来供以后使用.看下面我在做什么:
{% for key, assigned in pgn %}
<tr id="device-{{ assigned.id }}">
<td>{{ assigned.imei }}</td>
<td>{{ assigned.description }}</td>
<td>
{% for driver in assigned.driver %}
{{ driver.driver.id }} {# check if driver.driver.id has values testing purposes - delete me #}
{% set driverid = driver.driver.id %}
{% if driver.driver.name != "" %}
{% if driver.driver.name %}
{{ driver.driver.name }}
{% else %}
-
{% endif %}
{% endif %}
{% endfor %}
</td>
<td>
<button class="btn btn-xs btn-default"
onclick="openAlert({{ assigned.id }}, {{ driverid }}, 'unlink')"
data-original-title="{{ "devices.actions.unlink"|trans }}"
title="{{ "devices.actions.unlink"|trans }}">
<i class="fa fa-times"></i>
</button>
<button class="btn btn-xs btn-default"
onclick="openAlert({{ assigned.id }}, null, 'delete')"
data-original-title="{{ "button.delete"|trans }}"
title="{{ "button.delete"|trans }}">
<i class="fa fa-times"></i>
</button>
</td>
</tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
第74行/var/www/html/src/Device/DeviceBundle/Resources/views/List/listDevices.html.twig中不存在变量"driverid"
将var设置为稍后在openAlert()
通话中使用的正确方法是什么?或者在其他方面,我如何driver.driver.id
将它作为参数传递给openAlert()
函数?
Pao*_*fan 28
正如他们在这里所说,这不是一个错误,它是一个特征:在循环中定义的变量作用于该循环.
但不要担心,您可以在循环外定义var并将其分配到内部,如下所示:
{% set driverid = '' %} {# <-- add this line: default empty value #}
{% for driver in assigned.driver %}
...
{% set driverid = driver.driver.id %}
Run Code Online (Sandbox Code Playgroud)
这应该足以让它发挥作用.
归档时间: |
|
查看次数: |
14344 次 |
最近记录: |