2010-12-02 61 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

相关问题