Мой вопрос заключается в том, как связать несколько маршрутов с помощью Zend_Controller_Router_Route_Chain?
Например, я хочу связать 3 маршрута для года / месяца / дня, но гол:
when url is
example.com/2011
runs index controller, year action
example.com/2011/11
runs index controller, year-month action
example.com/2011/11/10
runs index controller, year-month-day action
I 'Я пытаюсь использовать этот код:
$front = Zend_Controller_Front::getInstance();
$router = $front->getRouter();
$chain = new Zend_Controller_Router_Route_Chain();
$route1 = new Zend_Controller_Router_Route(
':year',
array(
'controller' => 'news',
'action' => 'year'
)
);
$route2 = new Zend_Controller_Router_Route(
':month',
array(
'controller' => 'news',
'action' => 'year-month'
)
);
$route3 = new Zend_Controller_Router_Route(
':day',
array(
'controller' => 'news',
'action' => 'year-month-day'
)
);
$chain->chain($route1)
->chain($route2)
->chain($route3);
$router->addRoute('chain', $chain)
->addRoute('route3', $route3)
->addRoute('route2', $route2)
->addRoute('route1', $route1);
Когда я захожу на example.com/2012 и example.com/2012/11/11, все в порядке
, но когда я посещаю пример.com / 2012/11 / application показывает мне действие год-месяц-день, а на странице есть
Notice: Undefined index: day in P:\Zend\ZendServer\share\ZendFramework\library\Zend\Controller\Router\Route.php on line 299
Возможно, я делаю что-то не так.Пожалуйста, помогите мне решить мою проблему.Спасибо.