Il mio problema:Symfony2 Assetic + Ramoscello Template JavaScript Inheritance
ho 3 modelli:
main.html.twig
(file di layout principale)layout.html.twig
(una specifica esclusione layout di pacchetto che contiene alcuni specifico bundle JS tags)create.html.twig
(un file modello specifico della pagina che contiene anche alcuni tag JS specifici della pagina)
Sto definendo un blocco chiamato "javascript" nel mio layout di base (main.html.twig
), quindi sovrascritto (ma chiamando {{ parent() }}
in layout.html.twig
. Ciò funziona correttamente e i tag JS del file di modello principale sono ancora inclusi sopra quelli nel modello layout.html.twig
.
Ho poi fare lo stesso nel file create.html.twig
, ignorando il blocco come segue:
{% 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 %}
A questo punto, invece di override del blocco javascript nel genitore (layout.html.twig
), compresi tutto il script definiti nei modelli di sopra di esso, lo fa il seguente:
- scarica i
<script>
tag nel mezzo della produzione (che causa un errore, perché nella mia 01.236.519,100087 millionslima Sto solo tra cui la libreria jQuery alla fine il markup HTML - Poi discariche anche gli script fuori insieme al resto degli altri (come mi sarei aspettato a)
io non sono sicuro che cosa sta causando il dumping degli script nel mezzo del modello create.html.twig
, e sono anche confuso sul motivo per cui vengono scaricati due volte sullo schermo (una volta nel mezzo della creazione e poi una volta in basso lungo con tutto il resto dei miei script da main.html.twig
e layout.html.twig
.
Qualcuno ha qualche idea? Fammi sapere se qualcosa non è chiaro o se posso fornire ulteriori informazioni.
EDIT:
contenuti di file sono al di sotto ...
main.html.twig: https://gist.github.com/7f29353eaca0947528ce
layout.html.twig: https://gist.github.com/734947e9118b7765715e
create.html.twig: https://gist.github.com/c60c8d5c61e00ff86912
MODIFICA 2:
Stamattina ho dato un'altra occhiata al problema e sembra che stia facendo la stessa cosa per i fogli di stile.Ho cercato di definire un nuovo blocco chiamato pagescripts
nel mio layout.html.twig
e quindi utilizzare il blocco della mia create.html.twig
, ma questo ha avuto lo stesso risultato, a quanto pare solo per scaricare gli script e fogli di stile ovunque io uso il
{% block pagescripts %}
(scripts here)
{% endblock}
Quando il tag di script viene scaricato nel mezzo della pagina include anche l'output '{{parent()}}'? –
no solo i tre script nel mio file 'create.html.twig' – JamesHalsall
@KrisWallsmith ci sono idee che potrei provare con Kris? Se necessario, posso pubblicare una versione ridotta del contenuto dei file che stanno avendo il problema. – JamesHalsall