我在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/index
匹配的/news/2
上时,导航元素不处于活动状态。
如何告诉它对于它绑定到的路由的每个子路由都处于活动状态?
您是否在 naviation 设置中设置了控制器和操作?如果您设置了这些,则无论设置哪个页面,它都应该与新闻路由匹配,因为操作/控制器匹配:
'pages' => array(
array(
'label' => 'News',
'route' => 'news',
'controller' => 'news',
'action' => 'index',
),
)