Je viens de commencer mon aventure avec zend framework 1.9.1 mais j'ai rencontré quelques problèmes. Je voudrais supprimer des routes par défaut pour éviter d'afficher le même contenu sur des URL différentes - à achive, j'ai écrit fonction personnalisée dans bootstraperProblème de routage ZF
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initMyRouter()
{
$this->bootstrap('router')
->getContainer()
->frontcontroller
->getRouter()
->removeDefaultRoutes();
}
}
mais après cela, un problème se pose - chaque URL non valide atteint par défaut contrôleur au lieu de contrôleur d'erreur. Pour résoudre ce problème, je mets resources.frontController.defaultcontrollername = "erreur" resources.frontController.defaultaction = "jeter" dans application.ini et
public function throwAction()
{
throw new Zend_Controller_Dispatcher_Exception;
}
dans ErrorController pour contourner cela, mais ma question est .. . Est-ce que je fais quelque chose de mal?
Le deuxième problème est que je n'ai besoin de générer que des URL absolues. J'ai donc ajouté resources.frontController.baseurl = "http://mydomain.com/" dans application.ini mais après chaque URL pointe sur le contrôleur par défaut. Comment le réparer? Le troisième (et dernier) est ... comment appeler Zend_Controller_Action_Helper_Url :: url dans mes actions? J'ai essayé quelque chose comme $ this -> _ helper-> url (array(), 'frontpage') mais il appelle Zend_Controller_Action_Helper_Url :: direct