Mój problem:Symfony2 Assetic + Gałązka Szablon JavaScript Dziedziczenie
mam 3 szablony:
main.html.twig
(główny plik layout)layout.html.twig
(specyficzny przesłanianie układ pakiet, który zawiera pewne wiązki specyficzny JS tagi)create.html.twig
(plik szablonu specyficzny dla strony, który zawiera również znaczniki JS specyficzne dla strony)
jestem definiowania bloku o nazwie „javascript” w moim układzie bazowym (main.html.twig
), następnie przesłanianie go (ale nazywając {{ parent() }}
w layout.html.twig
. Działa to dobrze, a znaczniki JS z głównego pliku szablonu są nadal zawarte powyżej w szablonie layout.html.twig
.
I potem zrobić to samo w pliku create.html.twig
, przesłanianie blok następująco:
{% 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 %}
W tym momencie, a nie tylko przesłanianie javascript blok w dominującej (layout.html.twig
) włącznie wszystkie z skrypty zdefiniowane w szablonach nad nim, to wykonuje następujące operacje:
- Zrzuca
<script>
tagi w środku wyjścia (co powoduje błąd, ponieważ w moimmain.html.twig
plik jestem w tym tylko biblioteki jQuery na koniec znaczników HTML - Wtedy też zrzuca skrypty się wraz z resztą innych (jak bym go do spodziewać)
nie jestem jasne, co powoduje wyrzucanie skryptów w środku szablonu create.html.twig
i jestem także zdezorientowany, dlaczego zostały one porzucone na ekranie dwukrotnie (raz w środku kreacji, a następnie raz na dole wzdłuż z całą resztą moich skryptów z main.html.twig
i layout.html.twig
.
Czy ktoś ma jakieś pomysły? Daj mi znać, jeśli coś jest niejasne lub jeśli mogę podać więcej informacji.
EDIT:
zawartość pliku są poniżej ...
main.html.twig: https://gist.github.com/7f29353eaca0947528ce
layout.html.twig: https://gist.github.com/734947e9118b7765715e
create.html.twig: https://gist.github.com/c60c8d5c61e00ff86912
EDYCJA 2:
Tego ranka przyglądałem się temu zagadnieniu jeszcze raz i wygląda na to, że robi to samo z arkuszami stylów.Próbowałem zdefiniować nowy blok o nazwie pagescripts
w moim layout.html.twig
a następnie użyć bloku w moim create.html.twig
ale miał taki sam wynik, to po prostu wydaje się zrzucić skryptów i stylów, gdziekolwiek używam
{% block pagescripts %}
(scripts here)
{% endblock}
Kiedy znacznik skryptu jest porzucany na środku strony, czy zawiera on także dane wyjściowe '{{parent()}}? –
nie tylko trzy skrypty w moim pliku 'create.html.twig' – JamesHalsall
@KrisWallsmith wszelkie pomysły, które mogłyby ewentualnie wypróbować Kris? W razie potrzeby mogę opublikować obnażoną wersję zawartości plików, które mają problem – JamesHalsall