2015-11-02 84 views
1

我实际上在如何提问我的问题,希望它很清楚。我正在尝试做的是在使用特定服务时向视图发送其他信息,否则将视图渲染为原样。所以,我走了。Symfony添加参数渲染()通过服务而不是在控制器中

symfony中通常来说,当你想渲染视图这是你如何做到这一点

return $this->render(
    'ExampleBundle:View.html.twig', 
    array(
     'form' => $form->createView(), 
     'example' => $example 
    ) 
); 

是否有可能通过服务添加额外的参数,这render()之前的观点实际上是渲染,例如在上面的代码中我想要'example' => $example来自服务。

现在当然,我可以随时调用一个服务控制器内部和$example数据将得到分配给example参数发送到视图

$example = $this->get('calculations')->TotalTax();//call to a custom service i created 

但是我问的是,如果在服务我可以控制/覆盖视图或发送给视图的参数。

所以如果服务正在使用minupalate参数被发送到视图或更改视图一起其他明智让视图渲染它。

+0

对于我来说,不清楚“如果在服务中”的含义。什么服务? – Cerad

+0

这就是我所说的[service](http://symfony.com/doc/current/book/service_container.html)。我有一个自定义的服务,我创建执行一些税务相关的计算,所以在一个控制器,我打电话给服务,我需要传递额外的信息来查看,我可以从服务获取信息,然后传递给控制器​​就好了,但我问,如果通过服务,我可以重写获取呈现的视图,因为这将是理想的解决方案。这回答了你的问题了吗? – Baig

+0

没有。我想这是一种语言的东西。我真的不明白税务服务应该如何了解任何有关意见的知识。 – Cerad

回答

0

如果妳想要的服务选择视图渲染和数据给它,U可以使服务回报如

return array(
    'view' => 'ExampleBundle:View.html.twig', 
    'data' => array(
     'example' => $example, 
    ) 
); 

和CONTROLER:

$toRender = $this->get('calculations')->TotalTax(); 
return $this->render(
    $toRender['view'], 
    array_merge(
     $toRender['data'], 
     array('form' => $form->createView(),) 
    ) 
); 

,但我认为这是没有很好的解决办法。

+0

谢谢,但这不是我正在寻找:) – Baig

+0

目前尚不清楚你在找什么 –

相关问题