我正在用symfony2創建一個簡單的博客系統。每個博客後必然會有一定數量的標籤。Symfony2,動態刷新表格選項
創建新博客文章時,可以使用複選框選擇標籤。現在我想能夠動態添加新的標籤複選框到表單中。
AJAX部分已完成並正在工作,我可以向標記實體添加新的標記名稱並將新的複選框附加到窗體上。
問題是,當我提交表單時,symfony2無法識別新添加的標籤,因爲它們還不屬於標籤實體(在生成表單時)。
例如:提交表單後,我轉儲:
$tags = $form->get('tags')->getData();
控制器忽略通過Ajax添加的標記。
我知道它必須以某種方式解決事件,我已經閱讀了這個文檔:http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html,但無法弄清楚如何在這個特定的情況下實現它。
這裏是我的「PostType」表單生成器:
$builder
->add('title')
->add('content', 'textarea')
->add('tags', 'entity', array(
'class' => 'Bundle:Tag',
'property' => 'name',
'multiple' => true,
'expanded' => true,
))
->add('save', 'submit')
;