我在Zend Framework 2中将其作为路由配置:
'news' => array(
'type' => 'Literal',
'options' => array(
'route' => '/news',
'defaults' => array(
'__NAMESPACE__' => __NAMESPACE__ . '\Controller',
'controller' => 'News',
'action' => 'index',
'page' => 1,
),
),
'may_terminate' => true,
'child_routes' => array(
'index' => array(
'type' => 'Segment',
'options' => array(
'route' => '[/:page]',
'constraints' => array(
'page' => '\d+',
),
'defaults' => array(
'__NAMESPACE__' => __NAMESPACE__ . '\Controller',
'controller' => 'News',
'action' => 'index',
'page' => 1,
),
),
),
),
),
我还有一个导航,其中元素指向路线名news
。
当我在/news
页面时,一切正常,新闻导航元素处于活动状态。但当我在/news/2
上与路线news/index
匹配时,导航元素不活动。
如何告诉它对于它所绑定的路线的每个子路线是否有效?
答案 0 :(得分:2)
您是否在导航设置中设置了控制器和操作?如果设置它们,它应该与新闻路由匹配,无论设置哪个页面,因为动作/控制器匹配:
'pages' => array(
array(
'label' => 'News',
'route' => 'news',
'controller' => 'news',
'action' => 'index',
),
)