Я работаю над своего рода мини-сайтом, в котором есть блоки с определенной функциональностью. Используя symfony2, у меня есть специальный маршрут / инстаграм, который получает HTML-фрагмент, который показывает все снимки, сделанные на нашем месте.
Я хочу обновлять этот блок каждые 10 минут, поэтому мне нужно запустить следующий javascript в функции с setTimeout, опущенной для ясности.
jQuery('.gallery').load("/instagram", function() {
jQuery('.gallery').cycle({
fx: 'fade'
});
});
Этот код находится в "@ KunstmaanDashboardBundle / Resources / public / js / instagram.js", который я запускаю через 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 и заставить его работать:)