に方法がありisActive()
ますZend_Navigation
。ただし、現在のパス内のすべての要素に対して true を返します (現在のパスli
が parent であっても、親はアクティブであり、すべての子も同様ですli
)。
isCurrent()
現在のメニュー項目が現在のページかどうかを判断する方法はありますか?
カスタム クラス属性を、ul と li のネストされたツリー全体の現在の要素の1 つだけに追加したいだけです。
に方法がありisActive()
ますZend_Navigation
。ただし、現在のパス内のすべての要素に対して true を返します (現在のパスli
が parent であっても、親はアクティブであり、すべての子も同様ですli
)。
isCurrent()
現在のメニュー項目が現在のページかどうかを判断する方法はありますか?
カスタム クラス属性を、ul と li のネストされたツリー全体の現在の要素の1 つだけに追加したいだけです。
次の方法で簡単に:
$activeElement = $view->navigation()->findOneBy('active', 1);
ビュースクリプト内にいる場合は、次を使用できます。
$activeElement = $this->navigation()->findOneBy('active', 1);
独自のナビゲーション ビュー スクリプトを使用する必要がありますが、それは非常に簡単です。次に試してください:
$this->navigation()->findActive($this->yourNavContainer);
オブジェクトが返され、それを var ダンプすると、必要なデータが表示されます。変数は単に「ページ」と呼ばれていると思います。メニューを作成する前にこれを実行し、ディスパッチの前後に行ってから、viewscript で if ステートメントを実行して、現在ループされている項目に対してこの var をチェックします (foreach でループしていると思います)。