メニューの構造は、多次元のハッシュとして定義されます。 これにより、メニューの作成やその処理が非常に簡単になります。
例 47-1メニューの多次元ハッシュ
|
メニューエントリには、独自のキーを含めることもできます。 独自のキーは、レンダラが出力を作成する際に使用します (よくある方法は、このような独自のキーを テンプレート内の同名のプレースホルダに代入するものです)。
HTML_Menu は次の五つの出力モードをサポートしています。 'tree' (デフォルト)、'rows'、 'urhere'、'prevnext' そして 'sitemap' です。 先ほど定義した配列のメニュー構造では、 'Menu item 1.2' が現在アクティブであるものとし、 それぞれのメニュー型を試していきます。
使用できるメニュー型
この型のメニューは、内部的なハッシュ構造をほぼそのままたどったものです。 メニューのレベルの違いは字下げの量で表され、 アクティブなアイテムにいたるまでの要素とその直下の要素のみが表示されます。
これは 'tree' 型とほとんど同じです。 メニューのレベルの違いが、字下げではなく異なる行で表示されるという点が異なります。
これは、いわゆる 'パンくず' 式のナビゲーションで、 サイト全体の中で自分が今どの位置にいるのかが簡単にわかるようになります。
例 47-4メニュー型 'urhere' の出力
|
このメニューはドキュメントなどでよく使われ (PEAR マニュアルもそうです)、 現在のエントリからひとつ前、ひとつ先、そして親のエントリへ進めるようになります。
これは 'tree' 型のメニューですが、以下のように表示されます。
例 47-7最も基本的な使用例
|