2010-12-02 66 views
0

在我的Symfony項目中,我試圖爲嵌入式表單提供「另存爲模板」按鈕。嵌入式表單本身包含動態嵌入式表單。Symfony:我如何從填寫的表格創建用戶模板

例子:

alt text

的用戶應該能夠保存模板不保存整個表單。所以我打算使用AJAX來實現這一點(就像我已經做過的那樣,對於動態添加行爲)。

實際的問題是Symfony根據父表單命名錶單,例如,

<input name="Project[Workflow][1][name]" /> 

但該模板根本與「項目」無關。另一方面,當保存整個表單時,稍後需要這種命名格式。

發送整個表單到服務器可能是一個解決方案,但我認爲這是一個不好的做法/矯枉過正/浪費帶寬。

有沒有常見的方法如何做到這一點? 如果沒有,你是否有一個基本的方法?

問候, 烏利

回答

0

的symfony sfForms採取2個array S於該bind方法,你並不真的需要他們的請求。

因爲您有幾個WorkflowForm s有一個循環涉及!

$formData = $request->getParameter('Project'); // you could do Project['Workflow'] except for symfony 1.4 

    foreach ($formData['Workflow'] as $embeddedData) 
    { 
     $formFiles = $request->getFiles('Project'); 
     $embeddedFiles = $formFiles['Workflow']; 
     $form = new WorkflowForm(); 
     $form->bind($embeddedData, $embeddedFiles); 

     if ($form->isValid()) 
     { 
     // do your thing 
     // ... 
     $form->save(); 
     } 
    } 

那麼你處理每一個形式,你通常會在// do your thing

+0

這意味着我必須使用JavaScript來手工收集表單字段和構建我的請求PARAM的建議(項目[「流程」做]), 對? – fishbone 2010-12-02 17:12:34

相關問題