Erstellen von Seiten durch Verwendung der Page Factory Alle Seiten (also auch eigene Klassen), können durch Verwendung der Page Factory Zend_Navigation_Page::factory() erstellt werden. Die Factory kann ein Array mit Optionen oder ein Zend_Config Objekt annehmen. Jeder Schlüssel im Array/Config entspricht einer Seiten Option, wie im Kapitel Seiten gezeigt. Wenn die Option uri angegeben wird und keine MVC Optionen angegeben werden (action, controller, module, route) wird eine URI Seite erstellt. Wenn eine der MVC Optionen angegeben wird, dann wird eine MVC Seite erstellt. Wenn type angegeben wird, nimmt die Factory an das der Wert der Name der Klasse ist die erstellt werden soll. Wenn der Wert mvc oder uri ist wird eine MVC/URI Seite erstellt. Erstellen einer MVC Seite durch Verwenden der Page Factory 'My MVC page', 'action' => 'index' )); $page = Zend_Navigation_Page::factory(array( 'label' => 'Search blog', 'action' => 'index', 'controller' => 'search', 'module' => 'blog' )); $page = Zend_Navigation_Page::factory(array( 'label' => 'Home', 'action' => 'index', 'controller' => 'index', 'module' => 'index', 'route' => 'home' )); $page = Zend_Navigation_Page::factory(array( 'type' => 'mvc', 'label' => 'My MVC page' )); ]]> Erstellen einer URI Seite durch Verwendung der Page Factory 'My URI page', 'uri' => 'http://www.example.com/' )); $page = Zend_Navigation_Page::factory(array( 'label' => 'Search', 'uri' => 'http://www.example.com/search', 'active' => true )); $page = Zend_Navigation_Page::factory(array( 'label' => 'My URI page', 'uri' => '#' )); $page = Zend_Navigation_Page::factory(array( 'type' => 'uri', 'label' => 'My URI page' )); ]]> Erstellung eines eigenen Seiten Typs durch Verwendung der Page Factory Um einen eigenen Seitentyp zu erstellen mit Hilfe der Verwendung der Factory, muß die Option type verwendet werden um den Klassennamen zu spezifizieren der instanziiert werden muß. _fooBar = $fooBar; } } $page = Zend_Navigation_Page::factory(array( 'type' => 'My_Navigation_Page', 'label' => 'My custom page', 'foo_bar' => 'foo bar' )); ]]>