2011-03-22 13 views
0

Zend_Navigationでブレッドクラムを表示する際に問題が発生しました。Zend Navigation(ブレッドクラム)が表示されない

DBから記事を照会するためのパラメータを取るコントローラが1つあります。だから、 "articles/view/id/3"を指すと、idが3の記事が返されます。私が抱えている問題は、このロジックの下でブレッドクラムが動作することです。理想的には、「articles/view/id/3」に行くときにパンくずリストを希望します:「記事> Article_Name」

私のコードはナビゲーションとサブナビゲーションをレンダリングします。パンくず何も表示されません。ここで

は私のコードです:ように見えるXML形式で

1)サイトのナビゲーション:

<?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

+0

ありがとうございました! –

答えて

1

どのようなパラメータURIですか?
パラメータはどこにありますかcontroller & action?あなたはただ、この点を指摘するためにここにhttp://framework.zend.com/manual/ru/zend.view.helpers.html やソースコードZend/View/Helper/Navigation/Breadcrumbs.php

+0

ありがとうございます! navigation.xmlファイルにコントローラ、アクション、およびパラメータを指定する必要がありました。 –

0

を見ることができます

、Actualliのパン粉は、URIで動作します。

問題は、$this->view->navigation()->findByUri($uri)がnullオブジェクトを返すことです。 ブートストラップに設定されていても表示されないためです。

ブートストラップファイルにZend_Registry::set('Zend_Navigation', $navigation);を追加すると問題が解決するはずです。

乾杯

0

は、URLに/を追加してみてください。私も同じ問題がありました。

関連する問題