2014-01-20 6 views
0

AsseticBundle дает возможность определять именованные активы in the Symfony's configuration file. Как я могу ссылаться на них в шаблонах Twig, с {% javascripts %} и {% stylesheets %} Twig tags?Как ссылаться на активы Assetic в шаблоне Twig?

Symfony's own Assetic documentation упоминает только специальную нотацию для @BundleName/Resources/file.cs, чтобы включать в себя активы пакета, но ничего не сообщает об именованных активах.

Вопрос Symfony2: How to properly include assets in conjunction with Twig template inheritance? имеет короткое упоминание в комментариях, что это возможно, но не говорит, как это сделать.

Использование только указанного имени актива (например, jquery в Assetic's own Readme) не работает. Assetic пытается посмотреть файл web/jquery, который, по-видимому, не существует.

ответ

1

Короткая версия: Использование "@name" в шаблонах:

Чем дольше версия:

Если assetic конфигурация выглядит следующим образом:

[config.yml] 
assetic: 
    assets: 
     bootstrap_css: 
       inputs: 
        - %kernel.root_dir%/../web/components/bootstrap/css/bootstrap.css 
        - %kernel.root_dir%/../web/components/bootstrap/css/bootstrap-theme.css 
     jquery_ui_css: 
      .... 

сейчас вы можете использовать это в своих шаблонах, например, в своем base.html.twig

<html><head> 
... 
{% stylesheets output='compiled/main.css' 
    "@bootstrap_css" 
    "@jqueryui_css" 
    ...etc 
%} 
<link rel="stylesheet" href="{{ asset_url }}" /> 
{% endstylesheets %} 
</head></html 

Это также определяет, что все css, находящиеся там, должны быть объединены в один файл main.css в скомпилированном каталоге.

Смежные вопросы