http://example.com/blogs/ - выводит список разделов блога
http://example.com/blogs/id08 - выводит список блогов соответствующего раздела
http://example.com/blogs/post08 - выводит написанный блог
$route1 = new Zend_Controller_Router_Route_Regex(
’blogs/id(.*)’,array(
‘action’ => 'ololo',
’controller’ => 'lololo',
‘module’ => 'default'),
array(1 => 'id'));
$route2 = new Zend_Controller_Router_Route_Regex(
’blogs/post(.*)’,array(
‘action’ => 'lolo',
’controller’ => 'olol',
‘module’ => 'default'),
array(1 => 'id'));
$route3 = new Zend_Controller_Router_Route_Regex(
’blogs/’,array(
‘action’ => 'lolo',
’controller’ => 'olol',
‘module’ => 'default'),
array());
$this->getRequest->getParam('id')
А можно ещё и так: 1. Инициируешь роутер в Bootstrap-е:
protected function _initRouter()
{
$fc = Zend_Controller_Front::getInstance();
$router = $fc->getRouter();
$routerConfig = new Zend_Config_Ini('/../applications/configs/routes.ini');
$router->addConfig($routerConfig, 'routes');
}
2. В routes.ini прописываем динамический роутер:
routes.blog.type = "Zend_Controller_Router_Route"
routes.buy.route = "blog/:id"
routes.blog.defaults.module = "default"
routes.blog.defaults.controller = "blog"
routes.blog.defaults.action = "index"
3. Принимаем в соответствующем контроллере 'id'
:
$this->getRequest->getParam('id')