2011-03-22 73 views
0

我有問題顯示與Zend_Navigation的麪包屑。Zend導航(麪包屑)不顯示

我有一個控制器,它接受一個參數,從數據庫中查詢出來的文章。所以,如果你指向「articles/view/id/3」,它會返回一個id爲3的文章。我遇到的問題是麪包屑在這個邏輯下工作。理想情況下,當去「articles/view/id/3」我想麪包屑是:「文章> Article_Name」

我的代碼呈現導航和子導航好吧,它只是在麪包屑失敗,目前不顯示任何東西。

這裏是我的代碼:

1)網站的XML格式,看起來像導航:

<?xml version="1.0"?> 
<zend-config xmlns:zf="http://framework.zend.com/xml/zend-config-xml/1.0/"> 
    <nav> 
    <articles> 
     <label>Articles</label> 
     <uri>/</uri> 
     <order>1</order> 
     <active>1</active> 
     <visible>1</visible> 
     <pages> 
     <article_one> 
      <label>Article One</label> 
      <uri>/articles/view/id/81e728d9d4c2f636f067f89cc14862c</uri> 
      <order>1</order> 
      <active>1</active> 
      <visible>1</visible> 
     </article_one> 
     </pages> 
    </articles> 
    </nav> 
</zend-config> 

2)導航(在佈局):

$config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'nav'); 
$nav = new Zend_Navigation($config); 
$view = new Zend_View(); 
$view->navigation($nav); 
echo $view->navigation()->menu(); 

3)麪包屑(在文章控制器):

public function init() { 
     $uri = $this->_request->getPathInfo(); 
     $activeNav = $this->view->navigation()->findByUri($uri); 
     $activeNav->class = "selected"; 
     $activeNav->active = true; 
    } 

4)麪包屑(在佈局):

//Doesn't display anything[/B] 
echo $view->navigation()->breadcrumbs()->setLinkLast(true); 

在此先感謝您的幫助!

+2

不確定breadcrumps與uri一起工作。我認爲你需要爲你的導航指定控制器和動作標籤。 – Marcin 2011-03-22 23:37:52

+0

謝謝,就是這樣! – 2011-03-23 18:36:53

回答

1

對於什麼參數的URI?
哪裏參數controller & action

你可以看看這裏http://framework.zend.com/manual/ru/zend.view.helpers.html 或源代碼Zend/View/Helper/Navigation/Breadcrumbs.php

+0

謝謝!我需要在navigation.xml文件中指定控制器,操作和參數。 – 2011-03-23 18:37:50

0

只是指出這一點,Actualli麪包與URI工作。

的問題是,$this->view->navigation()->findByUri($uri)返回一個空對象; ,因爲即使它安裝在bootstrap中也沒有看到。

在引導文件就可以解決這個問題,添加Zend_Registry::set('Zend_Navigation', $navigation);

乾杯

0

嘗試增加/的URL。我也有同樣的問題。