Использование Twig для динамических файлов Javascript

Я работаю над своего рода мини-сайтом дашбордов, на котором есть блоки с определенным функционалом. Используя symfony2, у меня есть специальный маршрут / instagram, который получает фрагмент html, который показывает все изображения, сделанные в нашем месте.

Я хочу обновлять этот блок каждые 10 минут, поэтому мне нужно запустить следующий javascript в функции с setTimeout, опущенной для ясности.

jQuery('.gallery').load("/instagram", function() {
    jQuery('.gallery').cycle({
        fx: 'fade'
    });
});

Этот код находится в (скрытом), который я запускаю через Assetic для объединения и оптимизации.

{% javascripts
    '@KunstmaanDashboardBundle/Resources/public/js/thirdparty/jquery-1.7.min.js'
    '@KunstmaanDashboardBundle/Resources/public/js/thirdparty/jquery.cycle.lite.js'
    '@KunstmaanDashboardBundle/Resources/public/js/*'
    filter='closure'
%}
    <script src="{{ asset_url }}"></script>
{% endjavascripts %}

Это работает, но я не считаю это оптимальным подходом, потому что мне нужно жестко запрограммировать маршрут в функции load (). Чтобы исправить это, мне нужно переместить контент instagram.js в шаблон Twig и изменить его на:

jQuery('.gallery').load("{{ path('KunstmaanDashboardBundle_instagram') }}", function() {
    jQuery('.gallery').cycle({
        fx: 'fade'
    });
});

Но в этом случае я теряю оптимизацию и отделение от преимуществ контента Assetic. И наш собственный код больше всего нуждается в этой оптимизации.

Итак, мой вопрос: как я могу объединить Assetic Javascript (и CSS в этом отношении) с парсером Twig, чтобы я мог поместить приведенный выше код в файл instagram.js и заставить его работать :)

7
задан Roderik 18 November 2011 в 10:07
поделиться