我的問題:Symfony2的Assetic +桂枝模板的JavaScript繼承
我有3個模板:
main.html.twig
(主要佈局文件)layout.html.twig
(捆綁特定的佈局裏面包含一些捆綁特定JS覆蓋標籤)create.html.twig
(頁面特定的模板文件,其中還包含一些頁面特定的JS標籤)
我在我的基礎佈局(main.html.twig
)中定義了一個名爲'javascript'的塊,然後覆蓋它(但在layout.html.twig
中調用{{ parent() }}
。這工作正常,主模板文件中的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 %}
在這一點上,而不是僅僅覆蓋的JavaScript塊父(layout.html.twig
)和包括所有的在它上面的模板定義的腳本,它執行以下操作:
- 轉儲輸出(這會導致錯誤的中間
<script>
標籤,因爲在我main.html.twig
文件我只包括在HTML標記 - 那麼它也轉儲腳本出隨着他人休息(我希望它)
我不是結束jQuery庫確定是什麼導致腳本被轉儲到create.html.twig
模板的中間,我也很困惑他們爲什麼被轉儲到屏幕兩次(一次在創建過程中,一次在底部)所有其餘的腳本從main.html.twig
和layout.html.twig
。
有沒有人有任何想法?如果有什麼不清楚的地方,或者我可以提供更多的信息,請告訴我。
編輯:
文件內容均低於...
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}
當script標籤被轉儲到頁面中間時,它是否也包含'{{parent()}}'輸出? – 2012-01-07 15:46:17
只是我的'create.html.twig'文件中的三個腳本 – JamesHalsall 2012-01-07 17:36:30
@KrisWallsmith任何想法,我可以嘗試克里斯?如果需要,我可以發佈一個精簡版的文件內容的問題 – JamesHalsall 2012-01-10 13:39:55