【问题标题】:Symfony - accessing twig templates both from javascript (frontend) and controllers (backend)Symfony - 从 javascript(前端)和控制器(后端)访问树枝模板
【发布时间】:2015-07-16 08:44:54
【问题描述】:

我使用模板的第一种方式是标准的 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,我也无法从存储在views 中的模板访问public

目前使用 Ctrl+C / Ctrl+V :/

【问题讨论】:

  • 客户端模板没有路径访问的概念,您必须手动向它们提供数据。
  • 我明白,但可能存在或多或少优雅的解决方案。我现在可以做到的方式并不比复制粘贴干净。

标签: javascript php symfony templates twig


【解决方案1】:

我为我找到了非常简单的解决方案:

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

【讨论】:

    猜你喜欢
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 2012-05-02
    • 2018-05-23
    • 2016-05-22
    • 1970-01-01
    相关资源
    最近更新 更多