2010-10-25 49 views
0

我有一個拒絕訪問頁面,不應該在菜單中顯示。但是,用戶可能被重定向到拒絕訪問頁面。如何使用Zend_Navigation註冊非菜單頁面?

我也在頁面上有一個麪包屑部分,如果你去訪問被拒絕的頁面,它顯示爲空白,這是非常醜陋的。

因此,我想註冊該頁面,但不能在菜單上看到該頁面。我嘗試將可見屬性設置爲false,但是當我這樣做時,麪包屑仍然無法正確顯示(雖然該項從菜單中刪除)

如何註冊頁面但未在菜單中顯示?

回答

2

您可以在任何時候添加菜單並把麪包屑渲染也看不見的網頁:

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

另一種方法是不要在菜單中的所有時間增加的內容,但使用init( )errorController添加頁面的方法(所以它只在需要時添加):

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); 
    } 
} 
+0

絕對完美(使用'setRenderInvisible')。非常感謝你 :) – 2010-10-25 13:08:10