如何使用Zend_Navigation注册非菜单页面?

时间:2010-10-25 05:55:41

标签: php zend-framework zend-navigation

我有一个访问被拒绝的页面,不应该在菜单中显示。但是,可以将用户重定向到拒绝访问页面。

我在页面上也有一个breadcrumbs部分,如果你进入访问被拒绝页面,它显示为空白,这非常难看。

我想注册页面,但菜单上没有显示页面。我尝试将visible属性设置为false,但是当我这样做时,面包屑仍然无法正确显示(尽管该项目已从菜单中删除)

如何注册页面但不在菜单中显示?

1 个答案:

答案 0 :(得分:2)

您可以随时添加菜单并设置面包屑以呈现不可见的页面:

echo $this->navigation()->breadcrumbs()->setRenderInvisible(true)

另一种方法不是在菜单中随时添加页面,而是使用errorController的init()方法添加页面(因此只有在需要时才添加):

controller ErrorController extends Zend_Controller_Action
{
    public function init ()
    {
        $params = array(); // Add here the options you want
        $page = new Zend_Navigation_Page($params);

        $container = $this->view->navigation()->getContainer();
        $container->addPage($page);
    }
}