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