Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'aimerai créer un répertoire ajax dans controllers (/application/controllers/ajax) où je mettrai toutes les fonctions que mes script ajax appellent.
Dans mon Bootstrap.php j'ai rajouté :
protected function _initFront() { $front = Zend_Controller_Front::getInstance(); $front->setControllerDirectory(array( 'default' => '../application/controllers', 'ajax' => '../application/controllers/ajax', )); }
mon fichier Bootstrap.php ressemble maintenant à :
<?php class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initAutoload() { $moduleLoader = new Zend_Application_Module_Autoloader(array( 'namespace' => '', 'basePath' => APPLICATION_PATH)); return $moduleLoader; } protected function _initFront() { $front = Zend_Controller_Front::getInstance(); $front->setControllerDirectory(array( 'default' => '../application/controllers', 'ajax' => '../application/controllers/ajax', )); } protected function _initView() { // Initialisation de la vue $view = new Zend_View ( ); // Add it to the ViewRenderer $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper ( 'ViewRenderer' ); $viewRenderer->setView ( $view ); // Return it, so that it can be stored by the bootstrap return $view; } }
Je suis en version 1.9.6 du ZF, il diffère un peu des autres versions...
Dans j'ai rajouté un controller dans /application/controllers/ajax nommé CheckMail.php
mais je n'arrive pas à l'appeler dans mon navigateur lorsque je fais :
http://mondomaine.com/checkMail
ou
http://mondomaine.com/ajax/checkMail
(Merci de m'excuser si c'est une question un peu bête... )
Hors ligne
Ca veut dire quoi "je n'arrive pas" ?? Quelle est l'erreur ?
Ta classe ne respecte déjà pas la convention Zend, elle devrait être dans un fichier CheckMailController.php
Vérifie déjà les conventions Zend pour les controllers
Hors ligne
Pour ce qui est de la convention de nommage je me suis trompé lors de la rédaction de la discussion.
J'ai bien respecté la convention et mon controller est bien :
/application/controllers/ajax/CheckMailController.php
Je n'arrive simplement pas à appeler la page :
http://mondomaine.com/checkMail
Lorsque j'arrive sur http://mondomaine.com/checkMail le message d'erreur est :
An error occurred Page not found Exception information: Message: Invalid controller specified (checkMail) Stack trace: ... Request Parameters: array ( 'controller' => 'checkMail', 'action' => 'index', 'module' => 'default', )
Le controller existe bien mais dans le répertoire /application/controllers/ajax/
et non dans /application/controllers/
Hors ligne