我想从我的自定义类渲染控制器。我知道我应该使用前进功能,但我不知道我必须使用的服务吗?
我找到了类似的东西
$subRequest = $this->container->get('request')->duplicate(
array(),
null,
array('topicId' => $topicId,'_controller' => 'SomeBundle:Topic:close'));
return $this->container->get('http_kernel')
->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
它是一个前向功能,但如果我使用它,我会得到标题。
如何隐藏前向功能的标题?
我需要它,因为我想渲染自定义逻辑(从DB和其他)获取。这是我对模块的想法。
答案 0 :(得分:0)
在whitewashing.de上阅读有关控制器工具的帖子后 我创建了自己的utils函数,我在每个控制器中注入。
其中的向前功能可以在sf 2.7下工作,看起来像这样:
/**
* Forwards the request to another controller.
*
* @param string $controller The controller name (a string like BlogBundle:Post:index)
* @param array $path An array of path parameters
* @param array $query An array of query parameters
*
* @return Response A Response instance
*/
public function forward($controller, array $path = array(), array $query = array())
{
$path['_controller'] = $controller;
$subRequest = $this->container->get('request_stack')->getCurrentRequest()->duplicate($query, null, $path);
return $this->container->get('http_kernel')->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
}
答案 1 :(得分:0)
查看forwarding requests的文档。