Bonjour à tous,
J'ai besoin de modifier la liste des JS et des CSS inclus dans la partie head de mon layout.
Donc, j'ai tenté de créer un plugin symfony, avec une classe qui étend la classe "sfPluginConfiguration", avec un simple test d'ajout d'un attribut data-test sur chaque javascript :
Le code est bien appelé mais la réponse n'est pas modifié, alors que le même code appelé depuis le layout fonctionne très bien :
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 class resourcesModifierPluginConfiguration extends sfPluginConfiguration { public function configure() { //$this->dispatcher->connect('view.configure_format', array($this, 'listenToConfigureFormat')); $this->dispatcher->connect('response.filter_content', array(nuFileConcatenatorPluginConfiguration, 'test')); } public static function test(sfEvent $event) { $javascripts = sfContext::getInstance()->getResponse()->getJavascripts(); // remove all js foreach ($javascripts as $name => $arr) sfContext::getInstance()->getResponse()->removeJavascript($name); // Add Javascripts foreach ($javascripts as $name => $arr) { sfContext::getInstance()->getResponse()->addJavascript($name, 'last', array('data-test' => 'test value')); } return sfContext::getInstance()->getResponse()->getContent(); } }
Ma question : Est-ce possible de modifier les JS et CSS avant le rendu de la page, sans faire de modification intrusive (comme par exemple modifier le layout)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php resourcesModifierPluginConfiguration::test(new sfEvent('test.test', 'test.test')); ?> <?php include_stylesheets() ?> <?php include_javascripts() ?>
Merci beaucoup pour votre aide !!
Julian
Partager