Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
je suis confronté à un soucis sur une route qui contient une partie query. voici la définition de la route :
[lang=php] 'application' => array( 'type' => 'Literal', 'options' => array( 'route' => '/application', 'defaults' => array( '__NAMESPACE__' => 'Application\Controller', 'controller' => 'Index', 'action' => 'index', ), ), 'may_terminate' => true, 'child_routes' => array( 'default' => array( 'type' => 'Segment', 'options' => array( 'route' => '/[:controller[/:action]]', 'constraints' => array( 'controller' => '[a-zA-Z][a-zA-Z0-9_-]*', 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', ), 'defaults' => array( ), ), 'may_terminate' => true, 'child_routes' => array( 'query'=>array("type"=>"query") ) ), ), ),
Autant dire que pour le test j'ai juste rajouter sur la route de base la partie query tout à la fin.
Avec l'aide de vue url, pas de probléme les urls sont bien générées :
[lang=php] <a href="<?php echo $this->url("application/default",array("controller"=>"index","action"=>"test1")); ?>">test1</a><br /> <a href="<?php echo $this->url("application/default/query",array("controller"=>"index","action"=>"test2","param1"=>"value1")); ?>">test2</a><br />
en testant simplement dans l'action appelé test1 et test2 avec le code suivant
[lang=php] $rm = $this->event->getRouteMatch(); \Zend\Debug\Debug::dump(($rm->getMatchedRouteName())); \Zend\Debug\Debug::dump(($rm->getParams()));
la route application/default/query n'est jamais matché, et du coup, je ne peut pas récupérer les arguments de l'url.
Qu'en pensez vous ??? merci
Hors ligne
Tu n'as plus besoin de récupérer le routeMatch via l'event, tu peux directement utiliser le plugin params :
$this->params('toto');
Le truc c'est que ceci ne récupère que les paramètres matchés d'une route, hors là ce sont des paramètres qui proviennent de la partie query. Il faut donc que tu fasses ceci :
$this->params()->fromQuery('param1');
Hors ligne
Ah merci bakura, c'est quand même assez déroutant entre les nouveautés, les potentiels bogs et la doc qui est pas encore tip top.
merci ++
Hors ligne