Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Symfony2表单创建多次利用的自定义字段

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

WBOY
WBOYasal
2016-06-06 20:43:151097semak imbas

我在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>

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn