2013-12-04 1 views
0

Bundle шаблонов Symfony2 могут быть переопределены в соответствии с Документами http://symfony.com/doc/current/book/templating.html#overriding-bundle-templates Недавно мы обнаружили, что Assetic (вероятно) не знает о таком сценарии.Assetic: свалка работает неправильно, когда шаблоны расслоения перекрываться

Давайте посмотрим на следующую структуру:

сама связка:

  • /SRC/XXX/MyBundle/Ресурсы
    • общественных
      • template.hbs
    • просмотров
      • По умолчанию
        • template.html.twig

и его переопределение:

  • /приложение/Ресурсы/XXXMyBundle/
    • общественных
      • template.hbs
    • просмотров
      • По умолчанию
        • template.html.twig

Template.html.twig (как оригинал один из пучка и переопределения) содержит следующий код:

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

Теперь, было бы логично, что при разгрузке активов, assetic также рассмотрела возможные переопределения в нашем пример является /app/Resources/XXXMyBundle/public/template.hbs

, но как моя тестирования показывает, что всегда компилирует одну из/папок Src

Возможно, анализируя обозначения «@ XXXMyBundle/Ресурсы /public/template.hbs ', assetic не проверяет, может ли @XXXMyBundle иметь переопределения в/app папка.

+0

Почему вы ожидаете от Assetic просмотра в вашем 'public' каталоге? Он должен выглядеть только в 'views/*', если я правильно помню? –

ответ

0

Я думаю, вы нашли this document, но все написанное здесь относится только к шаблонам. Эта логика очень проста, вы можете проверить ее в TemplateFinder в FrameworkBundle.