第37章 Zend_Navigation

目次

37.1. 導入
37.1.1. ページとコンテナ
37.1.1.1. ページ
37.1.1.2. コンテナ
37.1.2. データ(モデル)とレンダリング(ビュー)の分離
37.2. 画面
37.2.1. Common page features
37.2.2. Zend_Navigation_Page_Mvc
37.2.3. Zend_Navigation_Page_Uri
37.2.4. カスタム・ページ・タイプの作成
37.2.5. ページ・ファクトリを使ってページを作成
37.3. Containers
37.3.1. Creating containers
37.3.2. Adding pages
37.3.3. Removing pages
37.3.4. Finding pages
37.3.5. Iterating containers
37.3.6. Other operations
37.4. 前バージョンからの移行
37.4.1. バージョン 1.9以前からの移行

37.1. 導入

Zend_Navigationは、 ウェブ・ページへのポインターのツリーを管理するためのコンポーネントです。 簡単に言うと、 それはメニュー、パンくず、リンク及びサイトマップを作成するために使われたり、 他のナビゲーション関連の目的のひな型の役目を果たすことができます。

37.1.1. ページとコンテナ

Zend_Navigationには2つの主要な概念があります:

37.1.1.1. ページ

Zend_Navigationにおけるページ (Zend_Navigation_Page) は、 - その最も基本的な形式で - ポインターをウェブ・ページに保持するオブジェクトです。 ポインターそのものに加えて、ページオブジェクトはナビゲーションのために 一般的に関連するいくつかのその他の性能、 例えば labeltitle他を含みます。

ページについて詳しくは ページ 節をさらにお読みください。

37.1.1.2. コンテナ

ナビゲーション・コンテナ (Zend_Navigation_Container) は、 ページのためのコンテナ・クラスです。 ページを追加したり、取得したり、削除したり、反復したりするためのメソッドがあります。 それはSPL インターフェース RecursiveIterator 及び Countable を実装して、 そのため、RecursiveIteratorIterator のようなSPLイテレータで反復できます。

コンテナについて詳しくは コンテナ 節をさらにお読みください。

[注意] 注意

Zend_Navigation_PageZend_Navigation_Container を拡張します。それはページがサブページを持てることを意味します。

37.1.2. データ(モデル)とレンダリング(ビュー)の分離

Zend_Navigation 名前空間のクラスは、 ナビゲーション用の要素のレンダリングを処理しません。 レンダリングは、ナビゲーション用のビューヘルパーで行なわれます。 しかしながら、ページは サイトマップその他のための、ラベルやCSSクラス、タイトル、 そして lastmod 及び priority プロパティーのようなものを レンダリングするときに、 ビューヘルパーによって使われる情報を含みます

ナビゲーション・ヘルパーの マニュアル部分でナビゲーション用の要素のレンダリングについてさらにお読みください。