在侧边栏中阻止 - 在哪里放置逻辑?

时间:2013-12-02 14:51:38

标签: forms symfony

我想创建一个带有某种形式的跳转块,并将其放在布局侧边栏中。表单将具有实体选择和完全Go按钮。 根据我需要使用{{ render(controller(...)) }}呈现表单模板的文档,但我真的没有把表单逻辑放在哪里。

最好在控制器中创建一个使用select实体的方法?但看起来我需要创建两个方法,第一个用于表单呈现(没有任何路由),第二个用于表单提交请求(带有“POST”方法的路由)?

有人可以提供一些如何正确行事的提示吗?

1 个答案:

答案 0 :(得分:1)

首先你需要一个控制器,因为你很难过,这将呈现侧栏的这一部分,并且动作应该是同一个控制器,所以只需为它创建一个路由器。

你也很伤心,创造一个隐藏的领域并设置当前的路线。但这是一个棘手的部分,因为当你调用这个“子”渲染时,控制器内的路径将始终是,控制器的路径是什么,所以你需要做什么,当你渲染你需要通过的控制器时在变量中当前路由是什么,通过传递{{ app.request.attributes.get('_route') }}变量值,路由的名称,然后在控制器中,最后返回新的{{1} }。

两者,表单的渲染和“进程”可以在同一个控制器中,或者如果您喜欢它,您可以将它拆开,但我只使用一个,您可以根据请求进行测试,什么是当前的方法,如果POST然后你将搜索变量并设置session / cookie /你有什么。

编辑:

即使你不喜欢,你也不得不说这是一个很好的答案,但这是另一个。 操作应始终是当前路由,基本上您需要设置请求事件侦听器。检查那里是否是一个post方法,如果是,那么找你的具体密钥,然后你去。两者都同样好,我同时使用它们。