Cette question est liée à this oneComment spécifier une valeur par défaut dynamique pour une clé dans un routeur, Zend Framework
Comment puis-je configurer la valeur par défaut de la partie de la catégorie à la valeur de catégorie dans l'URL de la demande?
$Router=$this->_front->getRouter();
$CategoryRoute = new Zend_Controller_Router_Route('category/:category/:controller/:action/*',
array(
'controller' => 'index',
'action' => 'index',
'category' => 'aaa'
));
$Router->addRoute('category', $CategoryRoute);
En d'autres termes, je dois la valeur [aaa] pour la valeur de la catégorie dans le temps que je suis la construction de cette route. Il y aura toujours une valeur pour [catégorie], sinon elle utilisera la route par défaut.
Exemple de ce que je veux dire:
Si je surfe sur le site avec l'URL http://baseurl/category/mycat/index
je vais routé au contrôleur = indice, action = index, catégorie = macategorie.
Mais, dans tous mes fichiers de vue, où j'utiliser l'assistant Zend_View :: url(), les liens pointeront vers:
http://baseurl/category/aaa/somthing/somthing (Utilisation de l'itinéraire exact ci-dessus)
Alors que j'ai réellement besoin de les pointer vers: Cela se produit parce que la valeur par défaut pour la catégorie est écrite comme une constante dans la route, et non prise, en quelque sorte, à partir de l'URL actuelle.
Je résous actuellement cela en extrayant par moi-même la catégorie de l'URL et en faisant la valeur par défaut.
Pourriez-vous clarifier avec certaines URL et ce qui fonctionne et ne fonctionne pas? –