私の問題:Symfony2のAssetic + TwigのテンプレートはJavaScriptの継承
私は3つのテンプレートがあります。
main.html.twig
(メインレイアウトファイル)layout.html.twig
(一部のバンドル特定のJSを含むバンドル特定のレイアウトのオーバーライドをタグ)create.html.twig
(特定のページ固有のJSタグを含むページ固有のテンプレートファイル)
基本レイアウト(main.html.twig
)に「javascript」というブロックを定義してから、それを上書きします(ただし、{{ parent() }}
をlayout.html.twig
に呼び出します)。これは正常に動作し、メインのテンプレートファイルのJSタグは、layout.html.twig
テンプレートのものよりもまだ含まれています。
私は、次のようにブロックを上書きし、create.html.twig
ファイル内の同じ操作を行います。この時点で
{% block javascripts %}
{{ parent() }}
{% javascripts '@BundleName/Resources/public/js/application.album.uploader.js'
'@BundleName/Resources/public/js/jquery.uploadify.js'
'@BundleName/Resources/public/js/swfuploadify.js' filter='?yui_js' %}
<script src='{{ asset_url }}' type='text/javascript'></script>
{% endjavascripts %}
{% endblock %}
、だけではなく、すべての親(layout.html.twig
)にjavascriptのブロックをオーバーライドし、を含みますそれ以上のテンプレートで定義されたスクリプトが、それは次のようん:
- があるため、私で、エラーが発生した(出力の途中で
<script>
タグをダンプ私は、HTMLマークアップその後 - それはまた
私はないです(私はそれには期待通り)を他人の残りの部分と一緒にスクリプトをダンプの最後にjQueryライブラリを含めていますファイルcreate.html.twig
テンプレートの途中でスクリプトがダンプされていることを確認してください。また、スクリーンに2回ダンプされている理由についても混乱しています(1回は作成の途中で、もう1回は残りのスクリプトはすべてmain.html.twig
とlayout.html.twig
です。
誰にもアイデアはありますか?不明な点がある場合や、さらに詳しい情報を提供できるかどうかを教えてください。
EDIT:
ファイルの内容は以下の通りです...
main.html.twig:https://gist.github.com/7f29353eaca0947528ce
layout.html.twig:https://gist.github.com/734947e9118b7765715e
create.html.twig:https://gist.github.com/c60c8d5c61e00ff86912
編集2:
私は今朝問題をもう一度見てきましたが、スタイルシートについても同じことをしているように見えます。私は私のlayout.html.twig
でpagescripts
と呼ばれる新しいブロックを定義し、私のcreate.html.twig
にブロックを使用しようとしたが、これは同じ結果を持っていた、ちょうど私がここで
{% block pagescripts %}
(scripts here)
{% endblock}
スクリプトタグがページの途中でダンプされると、 '{{parent()}}'の出力も含まれますか? –
私の 'create.html.twig'ファイルには3つのスクリプトしかありません。 – JamesHalsall
@KrisWallsmith私はおそらくクリスを試すことができますか?必要な場合は、問題が発生しているファイルの内容を削除したバージョンを投稿することができます。 – JamesHalsall