将TWIG对象传递给Javascript(json_encode结果为空)

时间:2013-11-30 17:31:51

标签: symfony twig

我有一个从我的控制器传递到我的twig模板的项目集合,称为资格。然后我遍历集合中的每个对象并将其打印到表中的一行。每个相应的行都有一个“编辑”按钮,该按钮应该将该对象的值传递给javascript函数。这是我的代码:

{%for qualification in qualifications%} 
    <tr id="qualification_{{qualification.id}}">
        <td>{{qualification.name}}</td>
        <td>{{qualification.saqaId}}</td>
        <td>{{qualification.qualificationType}}</td>
        <td>{%if (qualification.course is null) %} - {%else%} {{qualification.course.name}} {%endif%}</td>
        <td>0</td>
        <td><a class="button btn-primary btn-xs" onclick="setForm({{qualification|json_encode(constant('JSON_PRETTY_PRINT'))}});">Edit</a></td>
    </tr>
{%endfor%}

我按预期在表格行中获取信息,但是当在“编辑”按钮上查看HTML时,我只看到onclick="setForm({});"。我曾经尝试过使用和不使用原始版本,我也尝试了{{qualification|json_encode(constant('JSON_PRETTY_PRINT'))}},但都返回空白。

关于类似但不相关的说明。我也遇到过TWIG的其他问题。 {{dump()}}只加载一段时间,然后给出一个空白页面,其中包含未指定的500错误。我试过在services.xml和config.yml中激活twig调试,但我找不到哪些文档,但无济于事。然而,这不是我主要关注的问题,我主要担心的是json_encode返回空结果。

当我遇到困境时,对此的帮助或建议将会非常感激。

1 个答案:

答案 0 :(得分:0)

你试过{{dump(qualifications)}}吗?什么是输出?