Bonjour à tous,
Besoin de vos lumières
j'ai quelques script js dans une vue qui herite d'un template de base.
Le probleme est que ces scripts se repetent plusieurs fois une fois la vue générée,
mon template de base: "base.html.twig"
<!DOCTYPE html><html lang="fr"><head><meta charset="UTF-8"><meta name="description" content="{% block description %}{% endblock %}"/><base href="/"><title>{% block titre %}{% endblock %}</title>
{% block stylesheets %}
{% stylesheets output="css/app.css" filter="scssphp, cssrewrite"
'bundles/app/scss/style.scss'
'app/scss/icomoon.scss'
%}<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% endblock %}</head><body>
{% block body %}{% endblock %}<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script><script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js"></script><script src="http://dinbror.dk/bpopup/assets/jquery.easing.1.3.js"></script><script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
{% block javascripts %}
{% javascripts
'@AppBundle/Resources/public/js/jquery.rateyo.js'
'@AppBundle/Resources/public/js/jquery.sticky.js'
'@AppBundle/Resources/public/js/jquery.tooltipster.js'
'@AppBundle/Resources/public/js/jwplayer.min.js'
'@AppBundle/Resources/public/js/stickEmUp.js'
'@AppBundle/Resources/public/js/flashNotification.js'
'@AppBundle/Resources/public/js/engineJS.js'
%}<script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script><script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script><script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}</body></html>
ma vue:
{% extends "::base.html.twig" %}
{% block body %}
<div>Le content de ma page</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
{% javascripts
'@AppBundle/Resources/public/js_additional/jRating.jquery.min.js'
'@AppBundle/Resources/public/js_additional/jquery.mCustomScrollbar.min.js'
'@AppBundle/Resources/public/js_additional/jquery.isotope.min_2.2.js'
%}
<script src="{{ asset_url }}"></script><script>
$(window).on("load", function () {
$("#list").mCustomScrollbar({
axis: "x",
advanced: {autoExpandHorizontalScroll: true},
scrollbarPosition: "outside",
scrollButtons: {enable: true}
});
});</script>
{% endjavascripts %}
{% endblock %}
J'ai des fichiers js dont l'application a besoin pour toutes les pages que je place dans mon layout de base, et je rajoute les fichiers js dont la vue a besoin, et il m'arrive de placer quelques scripts a la mano dans les vues.
Seulement avec cette architecture, le script " $(window).on("load", function () {..." apparait 3 fois une fois la vue générée.
J'ai du louper quelque chose dans la comprehension d'assetic.