特定の機能を備えたブロックを備えた一種のダッシュボードミニサイトに取り組んでいます。symfony2を使用して、私たちの会場で撮影されたすべての画像を示すhtmlフラグメントを取得する専用ルート/instagramがあります。
このブロックを10分ごとに更新したいので、わかりやすくするために省略したsetTimeoutを使用して、次のjavascriptを関数で実行する必要があります。
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ファイルに入れて機能させるにはどうすればよいですか:)