symfony2形成树枝输入值

时间:2013-02-20 11:20:03

标签: forms symfony input twig

我正在用symfony2和twig做一个表单,从BDD获取信息。 我想根据一些信息自定义渲染。

如果我的数据chanson为空,我想显示输入以设置它。 如果我的数据不为空,我想显示一个显示数据的paragraphe,以及一个用于修改值并显示输入的链接。

我尝试这样的事情:

{% if form_widget(session.chanson).attrvalue!='' %}
 <p>{{form_widget(session.chanson).attrvalue}} <a>modify</a></p>
{% else %}
 <p>{{ form_label(session.chanson,"Chanson : ") }}
 {{ form_errors(session.chanson) }}
 {{ form_widget(session.chanson) }}</p>
{% endif %}

它不起作用。我试着用价值代替attrvalue,但它也没有用。 这是symfony所说的:Item "attrvalue" for "<input type="text" id="form_chanson" name="form[chanson]" required="required" value="La Rage" />" does not exist in CDUserBundle:Prof:edit_session.html.twig at line 19

有人知道这个问题吗? 谢谢,

1 个答案:

答案 0 :(得分:1)

您可以使用:

检查app.session.chanson变量是否为空
{% if app.session.chanson %}
   <p>{{ app.session.chanson }} <a href="#">modify</a></p>
{% else %}
   <p>{{ form_label(app.session.chanson,"Chanson : ") }}
   {{ form_errors(app.session.chanson) }}
   {{ form_widget(app.session.chanson) }}</p>
{% endif %}

然后,您需要在modify链接上插入所需的操作。

另请注意,如果您的对象chanson存储在会话中,则在twig模板中访问它的正确方法是使用app.session对象。