[英]Symfony2 custom form field
我是Symfony的新手,所以問題似乎有點簡單,但我需要幫助。
我已經生成了新的包。
我在Me\\MyBundle\\Resources\\config\\routing.yml
添加了一個新路由:
my_homepage:
pattern: /
defaults: { _controller: MeMyBundle:Default:index }
捆綁控制器看起來像這樣簡單:
namespace Me\MyBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DefaultController extends Controller
{
public function indexAction()
{
$form = $this->createFormBuilder()
->getForm()
;
return $this->render('MeMyBundle::index.html.twig', array(
'form' => $form->createView(),
'param1' => 'some_string_1',
'param2' => 'another string',
));
}
}
在枝條模板中,我可以按照自己的意願閱讀和處理適當的params
。
整個動作發生在生成的表單中,其中有AJAX請求路由到另一個控制器。
我想要實現的是創建一個新的自定義表單字段,可以使用不同的params
以相同的形式多次返回。
例如,我希望我的indexAction()
看起來像這樣:
public function indexAction()
{
$paramsArr_1 = array(
'param1' => 'some_string_1',
'param2' => 'another string',
);
$paramsArr_2 = array(
'param1' => 'some_string_2',
'param2' => 'another fine string',
);
$form = $this->createFormBuilder()
->add(myCustomField, $paramsArr_1)
->add(myCustomField_2, $paramsArr_2)
->getForm()
;
return $this->render('MeMyBundle::index.html.twig', array(
'form' => $form->createView()
));
}
是的,我確實看到了這篇文章 ,但它對我幫助不大。 我無法讓它發揮作用。
任何幫助深表感謝。
據我所知,表單字段擴展了基本表單類,因此您的“myCustomField”實際上可以是另一種形式。
請查看: http : //symfony.com/doc/current/reference/forms/types/form.html
如您所知,每個Form對象都附加了一個對象,因此您可以創建一個新對象而不是您的數組,並在其上設置這些值,然后將該表單添加到包含不同數據的對象所需的次數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.