sin leer mucho del codigo lo primero mal que tenes es cuando haces el getForm(). Si queres seguir usando el metodo Add para seguir agregando Fields lo tenes que hacer antes de un getForm().
El getForm() usalo para obtener tu formulario ya armado.
algo asi:
Código PHP:
$form = $this->createFormBuilder($defaultData);
$form->setAction('wicomyMainFooterBundle:Default:MainFoo ter.html.twig');
foreach ($trabajosTiposN1 as $trabajoTipoN1) {
$form->add('divChkN1_' . $trabajoTipoN1->getId(), 'checkbox', array(
'label' => $trabajoTipoN1->getNombre(),
'required' => false,
));
foreach ($trabajoTipoN1->getTrabajosTiposNivel2() as $trabajoTipoN2) {
$form->add('divChkN2_' . $trabajoTipoN2->getId(), 'checkbox', array(
'label' => $trabajoTipoN2->getNombre(),
'required' => false,
));
foreach ($trabajoTipoN2->getTrabajosTiposNivel3() as $trabajoTipoN3) {
$form->add('divChkN3_' . $trabajoTipoN3->getId(), 'checkbox', array(
'label' => $trabajoTipoN3->getNombre(),
'required' => false,
));
}
}
}
$form->add('send', 'submit');
$form = $form->getForm();
No lo probe pero si no mal me acuerdo era así
PD: acordate en el return al pasar el form hacerlo con el $form->createView(). EJ:
Código PHP:
Ver originalreturn new $this->render('algun.template.html.twig', array( 'form' => $form->createView() ) );