2012-04-14 4 views
3

Кто-нибудь знает, как отображать больше форм на одной странице?Symfony 2 - несколько форм

У меня есть класс объектов ImportPath: id. описание, путь, локальный и ImportPathForm, соответствующие этому объекту. То, что я хочу, является somethnig как таблица, которая имеет в каждой строке небольшую форму, которая может редактировать один Путь в ней.

Я не знаю конечный счет пути, поэтому он должен быть динамическим в каком-то цикле. Запрошенная форма должна быть известна из идентификатора пути (еще не реализована). не

Код: Контроллер: общественная функция importAction ($ сообщение = "нет сообщений") {

$em = $this->getDoctrine()->getEntityManager(); 

$paths = $em->getRepository('WT2\BabuBundle\Entity\ImportPath')->findAll(); 

$forms=array(); 
foreach ($paths as $path) { 
$form = $this->createForm(new ImportPathForm(), $path); 
$forms[]=$form; 
} 

// $request = $this->getRequest(); 
// if ($request->getMethod() == 'POST') { 
// $form->bindRequest($request); 
// if ($form->isValid()) { 
// /* ok */ 
// } 
// } 

return $this->render('WT2BabuBundle:Admin:import.html.twig', array('forms'=>$forms,'message'=>$message)); 
} 

View (экстракт):

{% for key, form in forms %} 
{{ key }} 
<form action="{{ path('admin_import') }}" method="post" {{ form_enctype(form) }}> 
{{ form_widget(form) }} 
<input type="submit" value="Ym2nit" /> 
</form> 
{% endfor %} 

EDIT>

Я получаю это :)

раствор

$forms=array(); 
foreach ($paths as $path) { 
$form = $this->createForm(new ImportPathForm(), $path); 
**$form = $form->createView();** 
$forms[]=$form; 
} 
+0

Я знаю, как этот сайт работает, но у меня меньше, чем 100 репутации и не может ответить на мой собственный вопрос в течение 8 часов после запроса ... –

+0

никаких проблем, теперь я могу разместить решение в окне ответа :) –

ответ

5

Я получаю :)

раствор

$forms=array(); 
foreach ($paths as $path) { 
$form = $this->createForm(new ImportPathForm(), $path); 
$form = $form->createView(); 
$forms[]=$form; 
} 
Смежные вопросы