如何为每个(Twig)Symfony2调用一个公共函数

时间:2016-02-29 07:55:34

标签: symfony twig

您好我有一个共同的功能来动态获取客户名称。现在我想将该函数调用到每个视图(Twig)。我这样跟着它:

//My controler
public function getSchoolNameAction(){
        $session = new Session();
        $dm = $this->getDocumentManager();
        $commonFunction = new CommonFunctions();
        return $schoolName= $commonFunction->schoolName($dm,$session);

}

//My View (search.html.twig)
{% render controller('EduAccountBundle:Ledger:getSchoolName') %}
But its showing an error that :
he controller must return a response (null given). I need to make it for every view. Please guide me how to fix this

1 个答案:

答案 0 :(得分:3)

不要将控制器定义为服务,控制器应仅用于接收请求并产生响应(您只需返回一个值,Symfony逻辑不可接受)

除非你想要返回一个渲染模板(或产生一个有效的响应,比如json响应)来放置你调用公共操作的地方(你当然可以这样做),我会建议写一个custom twig extension