Bu yüzden Symfony'de oldukça yeniyim ve denetleyicinin denetleyici eylemlerine bağlı olarak biraz farklı formlar oluşturmasını sağlamaya çalışıyorum. Şu anda, ben buSymfony2: Geçiş seçenekleri buildForm
//in Controller
public function addLocationEntryAction(Request $request)
{
$entry = new Entry();
$form = $this->get('form.factory')->create(new EntryType('addLocation'), $entry);
return $this->render('OOTNBlogBundle:Blog:addEntry.html.twig', array(
'form' => $form->createView()
));
}
public function addArticleEntryAction(Request $request)
{
$entry = new Entry();
$form = $this->get('form.factory')->create(new EntryType('addArticle'), $entry);
return $this->render('OOTNBlogBundle:Blog:addEntry.html.twig', array(
'form' => $form->createView()
));
}
Ve
//in EntryType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title', 'text')
->add('continent', 'text', array('required' => false))
->add('country', 'text', array('required' => false))
->add('category', 'text', array('required' => false))
->add('author', 'hidden')
->add('type', 'hidden')
->add('text', 'textarea')
->add('post', 'submit')
;
}
ben böyle bir şey yapmak, böylece, buildForm
yılında denetleyici bir seçenek geçmek istiyorum:
public function buildForm(FormBuilderInterface $builder, array $options, $option)
{
$builder
->add('title', 'text')
;
if($option == 'addLocation')
{
$builder
->add('continent', 'text', array('required' => false))
->add('country', 'text', array('required' => false))
;
}
elseif($option == 'addArticle')
{
$builder
->add('category', 'text', array('required' => false))
;
}
$builder
->add('author', 'hidden')
->add('type', 'hidden')
->add('text', 'textarea')
->add('post', 'submit')
;
}
Bunu nasıl yaparım? Symfony belgesini ve benzer soruları burada kontrol ettim ama hiçbir şey benim durumum için uygun değil. Bilmiyorum.
Çalışır güzelce, en iyi cevap b.b3rn4rd Eğer – Afunakwa
@ teşekkür ederim! Açık, basit, etkili. Benim durumumda da iyi çalışıyor –
'setDefaultOptions'' configureOptions' lehine kabul edilmediğini unutmayın. http://symfony.com/blog/new-in-symfony-2-7-form-and-validator-updates#deprecated-setdefaultoptions-in-favor-of-configureoptions – DarksteelPenguin