6

に方法がありisActive()ますZend_Navigation。ただし、現在のパス内のすべての要素に対して true を返します (現在のパスliが parent であっても、親はアクティブであり、すべての子も同様ですli)。

isCurrent()現在のメニュー項目が現在のページかどうかを判断する方法はありますか?

カスタム クラス属性を、ul と li のネストされたツリー全体の現在の要素の1 つだけに追加したいだけです。

4

2 に答える 2

7

次の方法で簡単に:

$activeElement = $view->navigation()->findOneBy('active', 1);

ビュースクリプト内にいる場合は、次を使用できます。

$activeElement = $this->navigation()->findOneBy('active', 1);
于 2012-02-22T17:31:24.287 に答える
0

独自のナビゲーション ビュー スクリプトを使用する必要がありますが、それは非常に簡単です。次に試してください:

$this->navigation()->findActive($this->yourNavContainer);

オブジェクトが返され、それを var ダンプすると、必要なデータが表示されます。変数は単に「ページ」と呼ばれていると思います。メニューを作成する前にこれを実行し、ディスパッチの前後に行ってから、viewscript で if ステートメントを実行して、現在ループされている項目に対してこの var をチェックします (foreach でループしていると思います)。

于 2010-07-03T23:29:44.697 に答える