導入

導入 -- メニューの構造およびサポートする出力モード

メニューハッシュの構造

メニューの構造は、多次元のハッシュとして定義されます。 これにより、メニューの作成やその処理が非常に簡単になります。
各エントリには最低限 'url''title' のキーが含まれており、また 'sub' キーが存在すれば、そこにこのエントリの子が含まれます。 エントリ内のキーはノードの識別子となるので、一意でなければならないことに注意しましょう。

メニューエントリには、独自のキーを含めることもできます。 独自のキーは、レンダラが出力を作成する際に使用します (よくある方法は、このような独自のキーを テンプレート内の同名のプレースホルダに代入するものです)。

サポートする出力モード

HTML_Menu は次の五つの出力モードをサポートしています。 'tree' (デフォルト)、'rows''urhere''prevnext' そして 'sitemap' です。 先ほど定義した配列のメニュー構造では、 'Menu item 1.2' が現在アクティブであるものとし、 それぞれのメニュー型を試していきます。

使用できるメニュー型

'tree'

この型のメニューは、内部的なハッシュ構造をほぼそのままたどったものです。 メニューのレベルの違いは字下げの量で表され、 アクティブなアイテムにいたるまでの要素とその直下の要素のみが表示されます。

'rows'

これは 'tree' 型とほとんど同じです。 メニューのレベルの違いが、字下げではなく異なる行で表示されるという点が異なります。

'urhere'

これは、いわゆる 'パンくず' 式のナビゲーションで、 サイト全体の中で自分が今どの位置にいるのかが簡単にわかるようになります。

'prevnext'

このメニューはドキュメントなどでよく使われ (PEAR マニュアルもそうです)、 現在のエントリからひとつ前、ひとつ先、そして親のエントリへ進めるようになります。

'sitemap'

これは 'tree' 型のメニューですが、以下のように表示されます。

使用例