Этот вопрос связан с этим
Как установить по умолчанию для части категории значение категории в URL-адресе запроса?
$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);
Другими словами, мне нужно, чтобы значение [aaa] было значением категории во время создания этого маршрута. Для [category] всегда будет значение, так как в противном случае будет использоваться маршрут по умолчанию.
Пример того, что я имею в виду:
Если я зайду на сайт с URL http://baseurl/category/mycat/index
Я буду перенаправлен на контроллер = индекс, действие = индекс, категория = mycat.
Но во всех моих файлах просмотра, где я использую помощник Zend_View :: url (), ссылки будут указывать на:
http://baseurl/category/aaa/somthing/somthing (используя точный маршрут сверху)
Хотя мне на самом деле нужно, чтобы они указали на:
http://baseurl/category/mycat/somthing/somthing
Это происходит потому, что значение по умолчанию для категории записывается как константа в маршруте, а не каким-то образом берется из текущего URL.
В настоящее время я решаю эту проблему, самостоятельно извлекая категорию из URL и устанавливая ее по умолчанию.