【发布时间】:2013-03-01 19:51:31
【问题描述】:
我的网站上有许多页面上呈现的联系表单,我需要在许多不同的控制器中处理此表单。如何在所有这些控制器中处理这种形式? 我不想定义特殊的路由和控制器来处理这个表单,我需要在它呈现的所有页面中处理它。
现在我正在调用控制器操作女巫以这种方式呈现我的表单:
在控制器中:
$profileAskFormResponse = $this->forward('MyBundle:Profile:profileAskForm', array(
'user' => $user,
));
if ($profileAskFormResponse->isRedirection())
return $profileAskFormResponse;
return $this->render(MyBundle:Single:index.html.twig', array(
'myStuff' => $myStuff,
'profileAskForm' => $profileAskFormResponse,
));
在树枝上:
{{ profileAskForm.content|raw }}
我在每个需要处理我的联系表的控制器中都使用此代码。有没有更简单的方法来做到这一点? 我的第一个想法是在 twig 中做这种事情:
{% render 'MyBundle:Profile:profileAskForm' with {request: app.request, user: user} %}
但我无法在表单发送后从那里重定向。关键是,是否有一种简单快捷的调用方式(例如
from twig) 像我的联系表单这样的组件,该组件不仅呈现一些东西,而且有一些
其中的应用程序逻辑。我会很高兴将这种组件用作砖女巫,我可以轻松地放在任何地方。
【问题讨论】:
-
显示您现在如何调用表单。