2

私は小さなプロジェクト用に独自の小さな軽量フレームワークを作成していましたが、現在は Kohana に切り替えています。

しかし、ナビゲーション階層を実現するにはどうすればよいのだろうか。

例: 次のようなメニューがあります。

ホーム | 製品 | サポート | コンタクト

私の古いフレームワークでは、ユーザーが「Products」をクリックすると、フレームワークはこれがどのナビゲーション レイヤーであるかを認識し、ビューはそのメニュー項目の css クラスに「_active」サフィックスを付けたので、強調表示されました。すべての親ナビゲーション要素について同じです。

このようなことを実現するために、Kohana でサイトをどのように設定していますか?

メニュー バーを含む 1 つの大きなレイアウト ビューを作成することを考えました。そこでは、どのメニュー項目をアクティブとして強調表示する必要があるかを判断するために、すべてのロジックを実装する必要があります。これには巧妙なメカニズムがありますか、それとも、URL セグメントがメニュー項目と一致する場合、if ステートメントの束で現在の URL から何らかの形で把握する必要がありますか?

4

1 に答える 1

3

uri::segment()メソッドを使用して現在のページを取得し、それに基づいてサフィックスを決定できます。

例:

# Example Url: http://www.example.com/index.php/article/paris/hilton/
echo $this->uri->segment(3); // Returns 'hilton'

そこからは、返された値をナビゲーション リンクのそれぞれに対してチェックするだけです。一致する場合は、接尾辞を追加します。

于 2009-06-09T20:47:12.460 に答える