Bonjour,

Je commence à regarder comment fonctionne Symfony2 (j'ai déjà travaillé avec Symfony1) et je n'arrive pas à trouver la réponse à la question suivante:

Dans Symfony1, pour ajouter une feuille CSS ou un fichier Javascript, on avait les helper de type use_...
Ca permettait par exemple de placer le helper dans la vue d'un composant et ainsi, lorsqu'une page devait inclure le composant, le composant lui-même ajoutait ses ressources à la pile qui était donc rendue globalement via les include_stylsheets() dans la layout de base.

Ex:
Code layout.php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <?php include_title() ?>
        <?php include_stylesheets() ?>
    </head>
    <body>
        <?php include_component('base','example') ?>
 
        <?php include_javascripts(); /* rend les balises <script> */ ?>
    </body>
</html>
Code .../module/base/templates/_example.php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<?php
use_javascript("lien/vers/mon/fichier.js"); // ajoute le fichier à la pile
?>
<div id="mondiv"></div> <!-- mon JS travail sur cet élément par exemple -->

La question est donc: comment reproduire ce comportement avec Symfony2 ?

Si j'ai:

Code layout.php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
<!doctype html>
<html lang="{{ 'fr' }}"> 
{% block body %}
    <head>
        <title>{% block title %}Test{% endblock %}</title>
        {% block stylesheets %}
            {% stylesheets filter='cssrewrite'
                'bundles/monbundle/css/fichier.css' %}
                <link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
            {% endstylesheets %}
        {% endblock %}
 
    </head>
    <body>
        {{ render(controller("monbundle:base:example")) }}
 
        {% block javascripts %}
            {% javascripts
                'bundles/monbundle/jquery.js' %}
                <script type="text/javascript" src="{{ asset_url }}"></script>
            {% endjavascripts %}
        {% endblock %}
    </body>
{% endblock %}
</html>

Comment faire en sorte que si j'inclue mon action monbundle:base:example, les CSS et JS dont dépend l'action soit ajoutés au {% block javascripts %} ?