I have basic routes set like this (left only revelant part):
return array( 'controllers' => array( 'invokables' => array( 'Main\Controller\Login' => 'Main\Controller\LoginController', 'Main\Controller\Main' => 'Main\Controller\MainController', 'Main\Controller\Index' => 'Main\Controller\IndexController', 'Main\Controller\Candidate' => 'Main\Controller\CandidateController', ), ), 'router' => array( 'routes' => array( 'home' => array( 'type' => 'literal', 'options' => array( 'route' => '/', 'defaults' => array( 'controller' => 'Main\Controller\Index', 'action' => 'index', ), ), ), 'main' => array( 'type' => 'literal', 'options' => array( 'route' => '/ts', 'defaults' => array( 'controller' => 'Main\Controller\Main', 'action' => 'index', ), ), 'may_terminate' => true, 'child_routes' => array( 'candidates' => array( 'type' => 'literal', 'options' => array( 'route' => '/candidate', 'defaults' => array( 'controller' => 'Main\Controller\Candidate', 'action' => 'index' ), ), 'may_terminate' => true, 'child_routes' => array( 'add' => array( 'type' => 'literal', 'options' => array( 'route' => '/add' ), 'defaults' => array( 'action' => 'add' ), ), ), ), ), ), ), ), So I believe the routes are:
/ /ts /ts/candidate /ts/candidate/add Everything works smoothly except the last one /ts/candidate/add
I made some basic views, each returns simple
echo '<action_name>' Where action_name is controller's action. But each time, when I enter /ts/candidate/add, I got index action from
'Main\Controller\CandidateController' instead of add action. View structure looks like this:
view -- errror -- 404.phtml -- index.phtml -- layout -- layout.phtml -- login.phtml -- main -- candidate -- index.phtml -- add.phtml -- main -- index.phtml