dongzhuxun5136 2011-06-14 12:46
浏览 34
已采纳

ZF:ZEND_NAVIGATION_PAGE - 页面未获得活动状态

I have generated menu with pages like that:

$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);

Where $contentMenuTree is a Zend_Navigation instance.

And have a route in a bootstrap:

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

If I call site.ru/catalog/test then there are nothing active page in $contentMenuTree.

So I found patch for it but it doesn't seem correct:

$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;

Why zend_navigation doesn't get active page element automatically?

  • 写回答

1条回答 默认 最新

  • dongsuoxi1790 2011-06-14 13:13
    关注

    you don't have action in your router

    i think it should be

    $router->addRoutes(array(            
        'catalog'  => new Zend_Controller_Router_Route('/catalog/:cat', 
         array('module' => 'default', 
               'controller' => 'catalog', 
               'action' => 'index',
               'cat' => null))
    ));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题