2011-06-14 2 views
0

내가 생성 한 메뉴를 얻을하지 않습니다 $contentMenuTree는 Zend_Navigation 인스턴스입니다ZF : ZEND_NAVIGATION_PAGE - 페이지가 같은 페이지를 활성 상태를

$pageSettings = array(
        'route'  => 'catalog', 
        'label'  => $element->getName(), 
        'module'  => 'default', 
        'controller' => 'catalog', 
        'action'  => 'index', 
        'params'  => array('cat' => $element->getUrl()), 
        'order'  => $element->getOrder(), 
        'id'   => 'catalogID_' . $element->getId(), 
); 

$contentMenuTree->addPage($pageSettings); 

.

$router->addRoutes(array(   
    'catalog' => new Zend_Controller_Router_Route('/catalog/:cat', array('module' => 'default', 'controller' => 'catalog', 'index' => 'index', 'cat' => null)) 
)); 

내가 site.ru/catalog/test 호출하면

다음 $ contentMenuTree 아무것도 활성 페이지가 있습니다 :

그리고는 부트 스트랩의 경로를 가지고있다.

그래서 나는 그것을 위해 패치를 발견하지만 올바른 것 같지 않습니다

$front = Zend_Controller_Front::getInstance(); 
$action = $front->getRequest()->getActionName(); 
$cat = $front->getRequest()->getParam('cat'); 
$module = $front->getRequest()->getModuleName(); 
$controller = $front->getRequest()->getControllerName(); 

if ($controller == 'catalog' && $module == 'default' 
      && $action == 'index' && $cat==$element->getUrl()) 
         $pageSettings['active'] = true; 

왜 zend_navigation 자동으로 활성 페이지 요소를하지 않습니다?

+0

해야한다고 생각 라우터에 action이 없어? 어떻게 pageSettings를 설정합니까? – Rufinus

+0

패치가 모두 완벽하게 작동합니다. 그러나 Zend_Navigation은이 패치 없이는 작동해야한다고 생각합니다. – Anthony

+0

당신 말이 맞습니다, ZF Navigation도 params를 처리합니다./카탈로그/색인/고양이/xyz 작동합니까? – Rufinus

답변

2

당신은 패치 작동하지 뭐죠

내가이

$router->addRoutes(array(   
    'catalog' => new Zend_Controller_Router_Route('/catalog/:cat', 
    array('module' => 'default', 
      'controller' => 'catalog', 
      'action' => 'index', 
      'cat' => null)) 
)); 
관련 문제