2013-02-20 93 views
1

我正在做一个形式与symfony2和树枝,形式谁从BDD的信息。 我想定制渲染函数中的某些信息。symfony2 form树枝输入值

如果我的数据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 %} 

它不工作。我尝试用价值而不是价值,它不工作。 这是什么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

你可以检查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存储在会话中,在树枝模板中访问它的正确方法是使用app.session对象。

+0

好的,谢谢你的工作很好。 我的对象没有存储在会话中,session是我在视图中创建和呈现的表单的名称。只是一个坏名字。 – vekah 2013-02-21 10:56:32