Mi problema:Symfony2 Assetic + plantilla Twig JavaScript Herencia
tengo 3 plantillas:
main.html.twig
(archivo principal de diseño)layout.html.twig
(una anulación de la disposición específica paquete que contiene algo de JS específica paquete etiquetas)create.html.twig
(un archivo de plantilla específico de página que también contiene algunas etiquetas JS específicas de la página)
Estoy definiendo un bloque llamado 'javascript' en mi diseño base (main.html.twig
), y luego lo anulo (pero llamando al {{ parent() }}
en layout.html.twig
. Esto funciona bien, y las etiquetas JS del archivo de plantilla principal aún se incluyen por encima de las de la plantilla layout.html.twig
.
luego hacer lo mismo en el archivo create.html.twig
, anulando el bloque de la siguiente manera:
{% 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 %}
En este punto, en lugar de anular el bloque de Javascript en el padre (layout.html.twig
) e incluyendo todo la guiones definidos en las plantillas por encima de ella, se hace lo siguiente:
- vuelca el
<script>
etiquetas en el medio de la salida (que causa un error, ya que en mimain.html.twig
archivo sólo estoy incluyendo la biblioteca jQuery al final de la marcación HTML - Entonces también vuelca los guiones a cabo junto con el resto de los otros (como yo esperaría que)
no soy seguro de lo que está causando que los scripts se viertan en el medio de la plantilla create.html.twig
, y también estoy confundido sobre por qué están siendo arrojados a la pantalla dos veces (una en el medio de la creación y otra en la parte inferior junto con con todo el resto de mis scripts de main.html.twig
y layout.html.twig
.
¿Alguien tiene alguna idea? Avíseme si algo no está claro o si puedo proporcionar más información.
EDIT:
Contenido del archivo están por debajo ...
main.html.twig: https://gist.github.com/7f29353eaca0947528ce
base.html.twig: https://gist.github.com/734947e9118b7765715e
create.html.twig: https://gist.github.com/c60c8d5c61e00ff86912
EDIT 2:
He estado revisando el problema esta mañana y parece que está haciendo lo mismo con las hojas de estilo.Me tratado de definir un nuevo bloque llamado pagescripts
en mi layout.html.twig
y luego utilizar el bloque en mi create.html.twig
pero no tenía el mismo resultado, apenas se parece a volcar los scripts y hojas de estilo donde utilizo el
{% block pagescripts %}
(scripts here)
{% endblock}
Cuando la etiqueta del script se descarga en el medio de la página, ¿incluye el resultado '{{parent()}}' también? –
no solo las tres secuencias de comandos de mi archivo 'create.html.twig' – JamesHalsall
@KrisWallsmith ¿Alguna idea de que podría probar Kris? Si es necesario, puedo publicar una versión reducida del contenido de los archivos que están teniendo el problema – JamesHalsall