Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour bonjour les devs.
Je suis actuellement entrain de travailler sur ZendDevTools, et je viens de tomber sur une erreur assez étrange...
Je vous explique:
j'ai une url de type www.monsite.com/p/1111111111
quand je met l'url dans le navigateur, ok ça fonctionne niquel, pas de problème.
Mais lorsque j’essaie de créer un lien vers cette page avec:
$this->url('p' , array('id'=>$monid))
ou plus simplement
$this->url('p/1111111111')
ça ne fonctionne pas..
zf2 me dit :
Message:
Route with name "p" not found
Hors je le répète, l'url fonctionne très bien quand je la colle directement dans le navigateur...
Une idée? ^^
Merci d'avance!!
Dernière modification par flobrflo (14-05-2013 11:27:52)
Hors ligne
Il faut mettre le chemin de la route que tu as défini dans la config de ton module.
[lang=php] $this->url('cheminDeRouteDeMaConfig' , array('id'=>$monid))
Hors ligne
et bien dans ma config j'ai:
'p' => array( 'type' => 'segment', 'options' => array( 'route' => 'p[/:param]', 'constraints' => array( 'param' => '[0-9_-]*' ), 'defaults' => array( 'controller' => 'MesPhotos', 'action' => 'p', ), ), ),
et l'url que j'appel:
$this->url('p', array('id'=>$monid));
avec 'p' est un enfant de la route '/' .
Hors ligne
Non.
'p' est un enfant de la route 'application' (par défaut dans le config) ou tout autre nom que tu as défini pour '/'.
exemple :
[lang=php] $this->url('application/p', array('id' => $monId))
Dernière modification par Bouks (14-05-2013 11:15:55)
Hors ligne
'index' => array( 'type' => 'literal', 'options' => array( 'route' => '/', 'defaults' => array( 'controller' => 'MesPhotos', 'action' => 'index', ), ), 'may_terminate' => true, 'child_routes' => array( ...
J'ai ajouté cette route, je doit donc mettre
$this->url('/p' , array( 'id' => $monid)) ??
Car cela me mets l'erreur:
Message:
Route with name "" not found
Hors ligne
[lang=php] $this->url('index/p', array('id' => $monId))
Hors ligne
Ah ok d'accord, je croyais pouvoir utiliser directement /
Merci, ça marche niquel ^^
Hors ligne
Tu peux aussi sortir "p" de index, ca t'évitera de trainer "index" avec toi, ta route deviendra :
'route' => '/p[/:param]',
Hors ligne
alien7 a écrit:
Tu peux aussi sortir "p" de index, ca t'évitera de trainer "index" avec toi, ta route deviendra :
'route' => '/p[/:param]',
Dans ce cas tu perds la notions de route fille et route mère qui a mon sens a de l'intérêt. Dans cet exemple peut être pas mais si l'on souhaite créer une route mère pour la gestion de compte utilisateur avoir des routes filles à l'intérieur a de l'intérêt .
Hors ligne
Oui je suis d'accord avec toi, mais là je pense pas que se soit le cas, c'est pour ça que je dis qu'il y a cette possibilité
Hors ligne