Php 在页面上创建单个zend Navigation时禁用活动状态
我有以下代码:Php 在页面上创建单个zend Navigation时禁用活动状态,php,zend-framework,zend-framework2,Php,Zend Framework,Zend Framework2,我有以下代码: class Module { public function onBootstrap(MvcEvent $e){ $application = $e->getApplication(); $em = $application->getEventManager(); $em->attach(\Zend\Mvc\MvcEvent::EVENT_DISPATCH, array($this,'setupNav'),10
class Module {
public function onBootstrap(MvcEvent $e){
$application = $e->getApplication();
$em = $application->getEventManager();
$em->attach(\Zend\Mvc\MvcEvent::EVENT_DISPATCH, array($this,'setupNav'),10000);
}
public function setupNav($e)
{
$serviceLocator = $e->getApplication()->getServiceManager();
$router = $serviceLocator->get('router');
$page = \Zend\Navigation\Page\AbstractPage::factory(array(
'label' => 'Login',
'route' => 'login',
'resource' => 'auth.auth.login'
));
$page->setRouter($router);
$page->set('type','user');
$serviceLocator->get('navigation')->addPage($page);
}
}
问题是,当路由匹配时,我动态创建的这些页面永远不会被标记为状态活动(并添加了一个活动类
)。它适用于加载了导航容器(配置导航)
的页面,但由于某些原因,当我动态添加Mvc页面时,这些导航元素的状态不会变为活动状态