Créer des pages avec la fabrique
Toute les pages (même les personnalisées) peuvent petre créer via la fabrique
Zend_Navigation_Page::factory(). Celle-ci peut prendre un
tableau d'options ou un objet Zend_Config. Chaque clé
correspondant à une option de l'obet page à créer comme l'indique la section concernant
les Pages. Si le paramètre
uri est passé et qu'aucun paramètre concernant MVC ne
sont présents (action, controller, module, route), une page de type
URI sera créee. Si un ou plusieurs paramètres concernant
MVC sont passés, une page de type MVC sera
retournée.
Si le paramètre type est passé, la fabrique l'utilisera pour déterminer
le nom de la classe à utiliser. Les valeurs mvc ou uri
créeront des pages de types MVC/URI.
Créer une page MVC avec la fabrique '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'
));
]]>Créer une page URI avec la fabrique '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'
));
]]>Créer une page personnalisée avec la fabrique
Utilisez l'option type afin de nommer la classe à
utiliser.
_fooBar = $fooBar;
}
}
$page = Zend_Navigation_Page::factory(array(
'type' => 'My_Navigation_Page',
'label' => 'My custom page',
'foo_bar' => 'foo bar'
));
]]>