当前位置:Gxlcms > PHP教程 > Symfony2表单创建多次利用的自定义字段

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

时间:2021-07-01 10:21:17 帮助过:12人阅读

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

my_homepage:
    pattern:  /
    defaults: { _controller: MeMyBundle:Default:index }

Bundle controller

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

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

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

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

回复内容:

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

my_homepage:
    pattern:  /
    defaults: { _controller: MeMyBundle:Default:index }

Bundle controller

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

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

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

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

人气教程排行