首頁 >後端開發 >php教程 >Symfony2表单创建多次利用的自定义字段

Symfony2表单创建多次利用的自定义字段

WBOY
WBOY原創
2016-06-06 20:43:151117瀏覽

我在Me\MyBundle\Resources\config\routing.yml添加了以下路由:

<code>my_homepage:
    pattern:  /
    defaults: { _controller: MeMyBundle:Default:index }
</code>

Bundle controller

<code>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',
        ));
   }
}
</code>

我想要在同一个form表单里创建可以重复利用的自定义的form字段,以下是利用代码

<code>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()
        ));
   }
</code>

参考了官方文档,但是还是不会,有谁知道吗?

回复内容:

我在Me\MyBundle\Resources\config\routing.yml添加了以下路由:

<code>my_homepage:
    pattern:  /
    defaults: { _controller: MeMyBundle:Default:index }
</code>

Bundle controller

<code>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',
        ));
   }
}
</code>

我想要在同一个form表单里创建可以重复利用的自定义的form字段,以下是利用代码

<code>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()
        ));
   }
</code>

参考了官方文档,但是还是不会,有谁知道吗?

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn