1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
//Dans mon controller
$form_html = array();
$entity_collection = array();
$render_site_text = array();
foreach ($site_info_ret as $tmp_lang => $tmp_site_info)
{
if($tmp_lang=='en')
{
$temp_form = array();
$temp_render = array();
$entity_html = array();
foreach ($tmp_site_info as $tmp_site_text)
{
$tmp = $this->container->get('form.factory')->create(new HtmlContentForm(), $tmp_site_text->getHtmlContent());
$temp_form[$tmp_site_text->getSiteInfoType()->getId()] = $tmp;
$temp_render[$tmp_site_text->getSiteInfoType()->getId()] = $temp_form[$tmp_site_text->getSiteInfoType()->getId()]->createView();
$entity_html[$tmp_site_text->getSiteInfoType()->getId()] = $tmp_site_text->getHtmlContent();
}
$form_html[$tmp_lang]=$temp_form;
$render_site_text[$tmp_lang]=$temp_render;
$entity_collection[$tmp_lang] = $entity_html;
}
}
$form = $this->container->get('form.factory')->create(new SiteForm(), $site);
$request = $this->container->get('request');
if ($request->getMethod() == 'POST')
{
$form->bindRequest($request);
if ($form->isValid())
{
$em->persist($site);
$em->flush();
if (isset($site_id))
{
$message='Site modifié avec succès !';
}
else
{
$message='Site ajouté avec succès !';
}
}
foreach ($form_html as $tmp_lang=>$lang_form_html)
{
foreach ($lang_form_html as $tmp_type=>$html)
{
$html->bindRequest($request);
if ($html->isValid())
{
$em->persist($entity_collection[$tmp_lang][$tmp_type]);
$em->flush();
if (isset($site_id))
{
$message='Site modifié avec succès !';
}
else
{
$message='Site ajouté avec succès !';
}
}
}
}
} |