资产:转储捆绑模板时转储工作不正确

时间:2013-12-04 10:50:38

标签: symfony handlebars.js assetic

根据文档,可以覆盖Symfony2中的捆绑模板 http://symfony.com/doc/current/book/templating.html#overriding-bundle-templates 最近我们发现Assetic(可能)并不知道这种情况。

让我们看看以下结构:

捆绑包本身:

  • / SRC / XXX / MyBundle /资源
    • 公共
      • template.hbs
    • 的观点
      • 默认
        • template.html.twig

及其覆盖:

  • /应用/资源/ XXXMyBundle /
    • 公共
      • template.hbs
    • 的观点
      • 默认
        • template.html.twig

Template.html.twig(来自bundle和override的原始版本)包含以下代码:

{% javascripts output='js/hbs/templates.js'
    '@XXXMyBundle/Resources/public/template.hbs'
%}
    <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %} 

现在,在转储资产时,资产也寻找可能的覆盖是合乎逻辑的,在我们的例子中它是 /app/Resources/XXXMyBundle/public/template.hbs

但是正如我的测试所示,它总是编译来自/ src文件夹的文件

可能在分析符号'@ XXXMyBundle / Resources / public / template.hbs'时,assetic不会检查@XXXMyBundle是否可能在/ app文件夹中覆盖。

1 个答案:

答案 0 :(得分:0)

我认为您找到this document,但此处所写的所有内容仅适用于模板。这个逻辑很简单,您可以在FrameworkBundle中的TemplateFinder中查看它。