我将我的标题树枝从基础树枝上作为子请求进行处理。以下代码行位于基本树枝中。
{{ 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());
}
生成表单但结果未触发?当我直接在基本树枝中运行相同的代码时,它可以正常工作。
答案 0 :(得分:0)
问题是,您的控制器操作(全局:标题)是由render
方法触发的,当您提交它时,它可能会执行您的操作'在页面上重新呈现header
方法。
您可能应该创建一个单独的操作来处理表单的帖子,然后将其用作表单的操作。
如果您想将用户重定向到当前页面,您可以添加一个存储当前网址的隐藏字段,然后在搜索后重定向他。