Symfony2:从控制器

时间:2015-11-30 11:50:34

标签: php html symfony

在我的Symfony2项目中,我想获取文件的HTML并将其放在我的控制器中的变量中。

我有一个像这样的控制器功能:

public function myControllerAction()
{
   $htmlOtherFile = '';

   return $this->render('@MyBundle/myTargetFile.html.twig', ['htmlOtherFile' => $htmlOtherFile]);
}

我要导入的html文件位于我的观看文件夹中:htmlOtherFile.html.twig

如何将此文件的HTML放入我的$htmlOtherFile变量中?我已经尝试了file_get_contents,但没有成功。

3 个答案:

答案 0 :(得分:3)

您需要做的就是从模板上的控制器调用renderView并将内容放入变量中。

$html = $this->renderView('/path/myTargetFile.html.twig', [/*options in here*/]);

请务必亲自致电renderView而不是render,因为这会返回Response个实例,而不是任何HTML。

或者,您可以致电:

$this->render('/path/myTargetFile.html.twig', [/*options in here*/])->getContent();

从响应中返回html。

答案 1 :(得分:2)

如果是twig文件 - 您可以试试这个:

$this->renderView('/path/to/template.html.twig', []);

答案 2 :(得分:0)

如果需要,您可以直接从您的twig文件中调用控制器。

使用语法{{ render(controller('MyBundle:functionName')) }}