Benim sorun:Symfony2'nin Assetic + Twig Şablon JavaScript Kalıtım
Ben 3 şablonlar vardır:
main.html.twig
(ana düzen dosyası) bazı paket özgü JS içerenlayout.html.twig
(bir paket belirli bir düzen geçersiz kılma etiketleri)create.html.twig
(ayrıca sayfaya özgü JS etiketlerini de içeren bir sayfaya özel şablon dosyası)
benim taban düzeni (main.html.twig
) 'de 'javascript' adlı bir blok tanımlayan sonra geçersiz kılma (ancak layout.html.twig
yılında {{ parent() }}
arıyorum. Bu iyi çalışıyor ve ana şablon dosyasındaki JS etiketleri hala layout.html.twig
şablonunun üst kısmında yer alıyor.
Sonra şöyle bloğu geçersiz kılma, create.html.twig
dosyasında aynı şeyi: Bu noktada
{% 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 %}
yerine sadece tüm ebeveyn (layout.html.twig
) javascript bloğunu geçersiz kılma ve dahil yukarıda şablonları tanımlanan komut, öyle aşağıdadır:
- çünkü benimyılında, hataya neden oluyor çıkışı (ortasında
<script>
etiketlerini döker Sadece HTML işaretlemesi Sonra - o da
ben değilim (bunu beklediğiniz gibi) dışarı başkalarının kalanı ile birlikte komut döker sonunda jQuery kütüphane gibi amdosya komut dosyalarının create.html.twig
şablonunun ortasına dökülmesine neden olduğundan emin olun, ve aynı zamanda neden ekrana iki kez atıldığına da kafam karışmışım (bir kez oluşturmanın ortasında ve sonra bir kez altta) Script'lerin geri kalanıyla main.html.twig
ve layout.html.twig
'dan.
Herhangi bir fikri olan var mı? Bir şey belirsiz ise veya biraz daha bilgi sağlayabilirsem haberim olsun.
DÜZENLEME:
Dosya içeriği ... aşağıda
main.html.twig: https://gist.github.com/7f29353eaca0947528ce
layout.html.twig: https://gist.github.com/734947e9118b7765715e
create.html.twig: https://gist.github.com/c60c8d5c61e00ff86912
EDIT 2:
Bu sabah konuya yeni bir bakışı görüyorum ve stil sayfaları için aynı şeyi yapıyor gibi görünüyor.Benim layout.html.twig
yılında pagescripts
adlı yeni blok tanımlamak ve sonra benim create.html.twig
yılında blok kullanmaya çalıştı ama bu aynı sonucu vardı, sadece ben burada
{% block pagescripts %}
(scripts here)
{% endblock}
Komut dosyası, sayfanın ortasına döküldüğünde '{{parent()}}' çıkışı da dahil mi? –
sadece 'create.html.twig' dosyasındaki üç betiği yok – JamesHalsall
@KrisWallsmith, Kris'i deneyebileceğim herhangi bir fikrin var mı? Gerekirse, sorunu olan dosyaların içeriğinin soyulmuş bir sürümünü yayınlayabilirim – JamesHalsall