在我的Symfony2项目中,我想获取文件的HTML并将其放在我的控制器中的变量中。
我有一个像这样的控制器功能:
public function myControllerAction()
{
$htmlOtherFile = '';
return $this->render('@MyBundle/myTargetFile.html.twig', ['htmlOtherFile' => $htmlOtherFile]);
}
我要导入的html文件位于我的观看文件夹中:htmlOtherFile.html.twig
如何将此文件的HTML
放入我的$htmlOtherFile
变量中?我已经尝试了file_get_contents
,但没有成功。
答案 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')) }}