我正在尝试将变量发送到不在典型位置的twig文件中。通常我通过指定它们通过Bundle的路径来加载视图但是我要发送变量的文件不是,分层次地,与其他树枝模板处于同一水平。
我有一个如下所示的控制器:
public function fooAction(Request $request)
{
*//Query*
return $this->render('Bundle:file.html.twig', array('varToSend' => $queryResult));
}
我很确定Bundle:file.html.twig是错误的,但我不知道如何在树枝中指定相关路径。
答案 0 :(得分:2)
你必须使用这样的路径:
return $this->render('Bundle:Something:file.html.twig', array(
'varToSend' => $queryResult
));
并将您的文件放在此文件夹中:
src/Bundle/Resources/views/Something/file.html.twig
答案 1 :(得分:2)
你从容器获得的Twig不能使用任意路径,但你可以初始化自己的树枝:
app/Resources/views
如果您需要在多个地方使用此功能,请考虑将其设置为Symfony服务,以便不会每次都初始化Twig环境。
请注意,在这种情况下,渲染器不会包含任何Symfony的Twig Extensions,您必须手动添加它们。
如果可能,请尝试避免这种情况,并将模板放入src/AppBundle/Resources/views
或{{1}}目录。