Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-05-2008 17:22:11

Bast
Membre
Date d'inscription: 07-06-2007
Messages: 138

[1.5] Zend_Controller_Router_Exception !

Bonjour à tous !!
J'ai une erreur de route récalcitrante ! sad

Dans mon bootstrap :

Code:

$router = new Zend_Controller_Router_Rewrite();

$router
    ->addRoute(
        'recherche',
        new Zend_Controller_Router_Route(
            'recherche2/:lieu/:type/:loi/:sit/:livr',
            array(
                'controller'    => 'recherche2',
                'action'        => 'index',
                'lieu'            => null,
                'type'            => null,
                'loi'            => null,
                'sit'            => null,
                'livr'            => null,
            )
        )
    );

$frontController->setRouter($router);

Et si (dans mon navigateur) j'appelle http://www.monsite.dev/recherche2/ (donc sans aucun param), j'ai l'erreur :

Fatal error: Uncaught exception 'Zend_Controller_Router_Exception' with message 'type is not specified' in D:\wwwroot\php_class\Zend\Controller\Router\Route.php:235
Stack trace:
#0 D:\wwwroot\php_class\Zend\View\Helper\Url.php(72): Zend_Controller_Router_Route->assemble(Array, false)
#1 [internal function]: Zend_View_Helper_Url->url(Array, 'recherche')
#2 D:\wwwroot\php_class\Zend\View\Abstract.php(300): call_user_func_array(Array, Array)
#3 [internal function]: Zend_View_Abstract->__call('url', Array)
#4 D:\wwwroot\immoneuf\application\views\scripts\recherche2\index.phtml(32): Zend_View->url(Array, 'recherche')
#5 D:\wwwroot\php_class\Zend\View.php(46): include('D:\wwwroot\immo...')
#6 D:\wwwroot\php_class\Zend\View\Abstract.php(769): Zend_View->_run('.\application\v...')
#7 D:\wwwroot\php_class\Zend\Controller\Action\Helper\ViewRenderer.php(895): Zend_View_Abstract->render('recherche2/inde...')
#8 D:\wwwroot\php_class\Zend\Controller\Action\Helper\ViewRenderer.php(916): Zend_Controller_Action_Helper_ViewRenderer->render in D:\wwwroot\php_class\Zend\Controller\Router\Route.php on line 235


C'est là que je ne comprends pas trop ; j'ai mis des valeurs par défaut à "null" pour tous les paramètres sad. Je m'attendais à ce qu'aucune Exception ne soit retournée !
J'ai bidouillé un peu mais pas moyen de dénicher ce qui cloche... J'ai besoin d'aide !!

Merci d'avance smile

Dernière modification par Bast (22-05-2008 17:29:22)

Hors ligne

 

#2 23-05-2008 08:40:39

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [1.5] Zend_Controller_Router_Exception !

Si j'en crois ton exception, le problème vient du moment où tu appelles ton viewHelper url.
Il faut mettre le 3e paramètre ($reset) à true si tu veux que les paramètres par défaut soient utilisés.
Tu peux nous envoyer ton code qui appelle le viewHelper url ?

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#3 23-05-2008 08:44:51

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [1.5] Zend_Controller_Router_Exception !

Hum... rectification, je pense que je viens de raconter n'importe quoi au dessus. Je vais prendre un peu de temps pour relire le code un peu moins en diagonale smile

Cela dit, envoie toujours ton appel au helper, ça sera tjrs utile !

Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#4 23-05-2008 09:18:05

Bast
Membre
Date d'inscription: 07-06-2007
Messages: 138

Re: [1.5] Zend_Controller_Router_Exception !

Je ne fais pas d'appel au helper, j'essaye de me rendre à l'url suivante en la apant dans mon navigateur :
http://www.monsite.dev/recherche2

J'ai essayé dans une page autre (une vue), de générer une url pointant vers la route 'recherche' sans paramètre

Code:

<a href="<?=$this->url(array(), 'recherche');?>">Allez...</a>

Si j'essaye d'afficher la page contenant ce code, j'obtiens une exception du même genre :

Fatal error: Uncaught exception 'Zend_Controller_Router_Exception' with message 'lieu is not specified' in D:\wwwroot\php_class\Zend\Controller\Router\Route.php:235
Stack trace:
#0 D:\wwwroot\php_class\Zend\View\Helper\Url.php(72): Zend_Controller_Router_Route->assemble(Array, false)
#1 [internal function]: Zend_View_Helper_Url->url(Array, 'recherche')
#2 D:\wwwroot\php_class\Zend\View\Abstract.php(300): call_user_func_array(Array, Array)
#3 [internal function]: Zend_View_Abstract->__call('url', Array)
#4 D:\wwwroot\immoneuf\application\views\scripts\index\index.phtml(12): Zend_View->url(Array, 'recherche')
#5 D:\wwwroot\php_class\Zend\View.php(46): include('D:\wwwroot\immo...')
#6 D:\wwwroot\php_class\Zend\View\Abstract.php(769): Zend_View->_run('.\application\v...')
#7 D:\wwwroot\php_class\Zend\Controller\Action\Helper\ViewRenderer.php(895): Zend_View_Abstract->render('index/index.pht...')
#8 D:\wwwroot\php_class\Zend\Controller\Action\Helper\ViewRenderer.php(916): Zend_Controller_Action_Helper_ViewRenderer->renderScrip in D:\wwwroot\php_class\Zend\Controller\Router\Route.php on line 235

Dernière modification par Bast (23-05-2008 09:19:06)

Hors ligne

 

#5 23-05-2008 11:13:29

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [1.5] Zend_Controller_Router_Exception !

bizarre : quand on regarde l'exception (de ton 1er message) il a quand même l'air d'appeler le helper url

Code:

#4 D:\wwwroot\immoneuf\application\views\scripts\recherche2\index.phtml(32): Zend_View->url(Array, 'recherche')

Tu peux regarder ce qu'il y a ligne 32 de ton index.phtml ?

sinon quelle version du ZF tu utilises ? parce qu'en regardant de plus près le code de la 1.5.2, je ne vois pas bien comment tu peux avoir ce type d'erreur...

Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#6 23-05-2008 11:15:45

Bast
Membre
Date d'inscription: 07-06-2007
Messages: 138

Re: [1.5] Zend_Controller_Router_Exception !

ZF 1.5.1
La ligne 32, c'est le code : <a href="<?=$this->url(array(), 'recherche');?>">Allez...</a>

Il se peut que j'aie oublié une étape importante lors de la mise en place des routes, car je ne maitrise pas du tout. Quels sont les points fondamentaux à respecter ?
Je verrai bien si ça cloche sur l'un de ces points...

Hors ligne

 

#7 23-05-2008 14:12:49

Bast
Membre
Date d'inscription: 07-06-2007
Messages: 138

Re: [1.5] Zend_Controller_Router_Exception !

J'aurais peut-être dû vous expliquer le but de tout ça.
Je voudrais avoir des url donc les paramètres sont toujours dans le même ordre. Comme vous pouvez le voir, il y en a pas mal. Et actuellement, selon l'ordre ou les liens de recherche sont cliqués, un même paramètre peut se retrouver en 5 positions différentes. C'est à dire que pour une même page (résultat de recherche), il peut exister 5 url différentes, et c'est mauvais pour le référencement.

Je pensais que le système de routes pourrait m'aider simplement...
Sinon j'ai une classe dédiée à la recherche desdits parametres, je peux également me faire une ptite fonction qui pond un url à partir des param qu'on lui passe... Mais quel dommage de réinventer la roue sous prétexte qu'on ne sait pas s'en servir hmm

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages