2013-02-20 109 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