Symfony2表单生成子请求

时间:2016-11-28 22:25:09

标签: php forms symfony

我将我的标题树枝从基础树枝上作为子请求进行处理。以下代码行位于基本树枝中。

{{ render(controller('MyBundle:Global:header')) }}

在标题树枝中有一个搜索表单。未链接到具有以下定义的任何实体。这是TopSearchType表单定义。

        $builder
        ->add('searchKey', 'text', array('mapped' => false))
        ->add('save', 'submit');

在子控制器中,我制作表格并处理验证结果如下。

    $form = $this->createForm(new TopSearchType());
    $form->handleRequest($request);

    if ($form->isValid()) {
        dump($form['searchKey']->getData());
    }

生成表单但结果未触发?当我直接在基本树枝中运行相同的代码时,它可以正常工作。

1 个答案:

答案 0 :(得分:0)

问题是,您的控制器操作(全局:标题)是由render方法触发的,当您提交它时,它可能会执行您的操作'在页面上重新呈现header方法。

您可能应该创建一个单独的操作来处理表单的帖子,然后将其用作表单的操作。

如果您想将用户重定向到当前页面,您可以添加一个存储当前网址的隐藏字段,然后在搜索后重定向他。