1 <?xml version="1.0" encoding="UTF-8"?>
3 <!-- EN-Revision: 20827 -->
4 <sect2 id="zend.navigation.pages.custom">
5 <title>カスタム・ページ・タイプの作成</title>
8 <classname>Zend_Navigation_Page</classname>を拡張するとき、
9 通常は、コンストラクタ、メソッド<methodname>setOptions()</methodname>、
10 または<methodname>setConfig()</methodname>をオーバーライドする必要はありません。
11 ページ・コンストラクタは単一のパラメータ、<type>Array</type>、
12 または<classname>Zend_Config</classname>オブジェクトを受け取ります。
13 そして、それはそれぞれ<methodname>setOptions()</methodname>
14 または<methodname>setConfig()</methodname>に渡されます。
15 それらのメソッドは次に<methodname>set()</methodname>メソッドを呼びます。
16 そして、オプションをネイティブまたはカスタムのプロパティにマップします。
17 もし、オプション<code>internal_id</code>が与えられたら、
18 メソッドは<methodname>setInternalId()</methodname>というメソッドを最初に探して、
19 それが存在するならばこのメソッドにオプションを渡します。
20 メソッドが存在しなければ、オプションはページのカスタム・プロパティとしてセットされて、
21 <code>$internalId = $page->internal_id;</code>または
22 <code>$internalId = $page->get('internal_id');</code>を通じてアクセスできます。
25 <example id="zend.navigation.custom.example.simple">
26 <title>もっとも単純なカスタム・ページ</title>
29 カスタム・ページ・クラスで実装する必要がある唯一のものは、
30 <methodname>getHref()</methodname>メソッドです。
33 <programlisting language="php"><![CDATA[
34 class My_Simple_Page extends Zend_Navigation_Page
36 public function getHref()
38 return 'something-completely-different';
44 <example id="zend.navigation.custom.example.properties">
45 <title>プロパティ付のカスタム・ページ</title>
49 <methodname>setOptions()</methodname>や<methodname>setConfig()</methodname>
50 メソッドをオーバーライドしたり、修正する必要はありません。
53 <programlisting language="php"><![CDATA[
54 class My_Navigation_Page extends Zend_Navigation_Page
59 public function setFoo($foo)
64 public function getFoo()
69 public function setFooBar($fooBar)
71 $this->_fooBar = $fooBar;
74 public function getFooBar()
76 return $this->_fooBar;
79 public function getHref()
81 return $this->foo . '/' . $this->fooBar;
86 $page = new My_Navigation_Page(array(
87 'label' => 'Property names are mapped to setters',
93 $page = Zend_Navigation_Page::factory(array(
94 'type' => 'My_Navigation_Page',
95 'label' => 'Property names are mapped to setters',