Bonjour à tous,
Voila j'ai un petit soucis avec zend. En fait, dès que j'éxecute une autre action que index dans un controller, cette vue perd les propriétés css et le javascript.
Exemple : J'ai créé un AdminController avec dedans une action index et une action userlist. Lorsque je me rend avec le navigateur sur l'action index, pas de soucis, par contre lorsque je vais sur userlist, plus de css ni de js.
J'ai fais un echo dans mon userlist.phtml pour tester et je le vois bien s'afficher dans la page sans css.
Du coup j'ai regardé dans la console de chrome et là surprise. En fait il charge très bien mes css et js (à l'aide des headsript et headlink dans mon bootstrap) mais il essaye de les recharger une seconde fois vers un chemin inexistant. Ici dans mon cas :
GET http://hote/projet/public/admin/css/dropdown.css 404 (Not Found) list:4
GET http://hote/projet/public/admin/js/j....22.custom.css 404 (Not Found) list:3
GET http://hote/projet/public/admin/js/j...y-1.7.2.min.js 404 (Not Found) list:6
GET http://hote/projet/public/admin/js/f...ash_message.js 404 (Not Found) list:6
GET http://hote/projet/public/admin/js/j....custom.min.js 404 (Not Found) list:6
GET http://hote/projet/public/admin/css/global.css 404 (Not Found) list:6
GET http://hote/projet/public/admin/js/dropdown.js 404 (Not Found) list:6
Evidemment le problème devient tout de suite plus clair et logique. Mais je ne sais pas pourquoi il y a ce comportement là. C'est-à-dire d'aller chercher dans public/nom du controller/css ou js ! Est-ce que ça l'a fait à quelqu'un d'autre que moi ?
Je sèche vraiment là et je suis totalement bloqué alors que je suis très juste niveau temps pour mon projet.
Je pense avoir oublié de paramétrer quelque chose dans mon bootstrap ou mon application.ini. Au cas où je vous montre le code de ces deux fichiers :
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 <?php class Bootstrap extends Zend_Application_Bootstrap_Bootstrap{ protected function _initRouter(){ // On récupère le bootstrap puis le routeur $front = $this->bootstrap('FrontController')->getResource('FrontController'); $router = $front->getRouter(); // Home route if(!Zend_Auth::getInstance()->getIdentity()){ $router->addRoute('login', new Zend_Controller_Router_Route('/', array('controller' => 'auth', 'action' => 'login'))); } } protected function _initView(){ // Initialize view $view = new Zend_View(); $view->doctype('XHTML1_STRICT'); $view->headMeta() ->appendHttpEquiv('Content-Type', 'text/html; charset=UTF-8'); $view->headLink(array('rel' => 'favicon', 'href' => 'media/img/favicon.png'),'PREPEND') ->appendStylesheet('css/global.css') ->prependStylesheet('css/dropdown.css') ->prependStylesheet('js/jquery/css/redmond/jquery-ui-1.8.22.custom.css'); $view->headScript() ->appendFile('js/jquery/js/jquery-1.7.2.min.js') ->appendFile('js/jquery/js/jquery-ui-1.8.22.custom.min.js') ->appendFile('js/dropdown.js') ->appendFile('js/fadeout_flash_message.js'); // Add it to the ViewRenderer $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer'); $viewRenderer->setView($view); // Build the navigation (menu xml) $navContainerConfiguration = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml','nav'); $navContainer = new Zend_Navigation($navContainerConfiguration); $view->navigation($navContainer); // Return it, so that it can be stored by the bootstrap return $view; } }Voila j'espère avoir fourni assez de détails pour vous aider. Merci d'avance à tout le monde.
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 [production] phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" appnamespace = "Application" resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" resources.frontController.params.displayExceptions = 0 ; LAYOUT resources.layout.layout = "layout" resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts" ; BDD resources.db.adapter = "PDO_MYSQL"; resources.db.params.host = "xxx"; resources.db.params.dbname = "xxx"; resources.db.params.username = "xxx"; resources.db.params.password = "xxx"; resources.db.params.date_format = "YYYY-MM-ddTHH:mm:ss" resources.db.isDefaultTableAdapter = true ; ERRORS phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 resources.frontController.params.displayExceptions = 1 [staging : production] [testing : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 [development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 resources.frontController.params.displayExceptions = 1
Partager