2012-08-10 25 views
0

我已經嘗試了很多,並且尚未能夠找到解決此問題的方法。我不確定這是否可能。如何使用symfony表單構建這種簡單但複雜的表單

我有一臺名爲Student則表名爲AssigmentSolutions

現在有在分配表保存有適用於所有學生提問。但不同的學生會提交不同的解決方案

在表單上我想要label作爲問題文本,然後是文本框作爲解決該問題的答案。

在開始時我在數據庫中有空的答案。

我很困惑如何使用的symfony建立這個表格

Becasue所有的解決方案將submiited togetehr一個提交按鈕

Class AssignmentFormType{ 

$builder-> add('answer','collection' ....) 

這是工作正常,但只有在這裏的事情,我要的是將QuestionText作爲該答案的標籤顯示,並且我無法找到該答案的內容

+0

簡單*和*複雜?這不是一個矛盾嗎? – DaveRandom 2012-08-10 13:11:56

+0

我說簡單,因爲只有一個領域的形式,複雜的,因爲我不知道如何使它工作 – user825904 2012-08-10 13:20:24

+0

是否http://stackoverflow.com/questions/6726878/symfony2-customize-form-labels-in-form - 集合不能回答你的問題? – wdev 2012-08-10 13:43:23

回答

1

您要做的是根據實體的信息動態創建表單元素(即設置label = $ entity- > getQuestion)

兩種方法:

A.動態表單

http://symfony.com/doc/master/cookbook/form/dynamic_form_generation.html

主要涉及建立一個監聽器,然後用它來訪問每個單獨的實體創建表單元素。痛苦的一點,但它的作品。

表單模板

因爲所有你想要做的是改變標籤的B.內,那麼它可能會更容易,只是設置你的表單模板內。例如:

{{ form_label(form.assignment, form.assignment.vars.value.question) }} 

.data應該給你實際的賦值實體,你可以從中提取問題。

+0

與第二種方法,問題是,ID我不顯示問題字段,然後它得到更新爲空,因爲它在那裏的形式,但我沒有渲染它。在愚蠢的形式totorial我仍然不明白他們的網站上的例子。它只是隱藏一個領域的基礎上,如果它的新或不。你能給我一些信息嗎?我怎樣才能找到更多關於動態表格的信息 – user825904 2012-08-10 20:10:17

+0

讓我們先堅持做法A.請發佈您的模板代碼的作業。 – Cerad 2012-08-10 21:02:04

+0

我嘗試了2-3天的拳頭評論,並將$ data數據設置爲null。我刪除了代碼,但現在我會這樣做,並在此處發佈代碼。謝謝 – user825904 2012-08-11 02:26:27

相關問題