Symfony -从javascript(前端)和控制器(后端)访问树枝模板


Symfony - accessing twig templates both from javascript (frontend) and controllers (backend)

我使用模板的第一种方式是标准的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.twigviews访问public

这里还有PHPStorm关于这个特性的提示:

Settings -> Other Setting -> Symfony2 Plugin -> Twig / Template

添加新行

public src/YourVendor/YourBundle/Resources/public/twig ADD_PATH Custom true