我使用模板的第一种方式是标准的symfony方式-从控制器调用:
return $this->render('MyBundle:MyController:MyTemplate.html.twig');
模板保存在Resources/views/MyController/MyTemplate.html.twig
我使用模板的第二种方式是前端。我使用的是twig.js
,模板存储在Resources/public/twig
文件夹中(它们可以从js的/bundles/mybundle/twig
访问)
这个问题。例如,我想在前面和后面使用相同的macro
。我不能从public
模板访问views
,也不能从模板访问public
,它们存储在views
中。
当前正在使用Ctrl+C/Ctrl+V:/
我找到了一个非常简单的解决方案:
config.yml
twig:
paths:
"%kernel.root_dir%/../src/Ida/BabolaBundle/Resources/public/twig": public
现在我可以在任何views
模板中使用@public/myTemplate.html.twig
从views
访问public
这里还有PHPStorm关于这个特性的提示:
在Settings -> Other Setting -> Symfony2 Plugin -> Twig / Template
public src/YourVendor/YourBundle/Resources/public/twig ADD_PATH Custom true