Bonjour,

Je travaille sur un filtre symfony qui a pour objectif de faciliter l'intégration d'un script css/javascript.

Celui-ci ne doit s'activer que si un certain tag est trouvé dans le code html de la vue.
- Si ce tag est trouvé, on ajoute un fichier javascript et un fichier css ( si possible via l'objet $response )
- Si le tag n'est pas trouvé, rien ne se passe.

Mon problème actuel c'est que j'ai l'impression qu'il est impossible d'ajouter les fichiers css/js après avoir récupérer le contenu de la page web.

Actuellement j'ai un script qui a la forme suivante :
Code : 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
 
public function execute($filterChain)
{
  $response = $this->context->getResponse();
 
  // Dans la situation actuelle, j'ajoute les fichiers css/js dans tous les cas, car je n'arrive pas à faire autrement
  $response->addJavascript('/sfSyntaxHighlighterPlugin/js/shCore');
  $response->addStylesheet('/sfSyntaxHighlighterPlugin/css/shCore');
 
  // A partir de maintenant on peut avoir accès au code html
  // Mais les méthodes sur $response ne fonctionnent plus
  $filterChain->execute();
  $content= $response->getContent();
 
  if ($this->check($content)) 
  {
    .... 
    $response->setContent($content); 
}
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
rendering: ~
 
remember_me:
  class: sfGuardRememberMeFilter
 
security:  ~
 
sf_syntax_highlighter_plugin:
    class: sfSMonFiltreFilter
 
cache:     ~
execution: ~
Comme vous pouvez le voir, dans cette situation j'inclus obligatoirement les fichier css/js même si il n'ont pas de raison d'être inclus.
Auriez-vous une solution/astuce pour me permettre d'optimiser ce comportement ?

Merci pour votre aide !