Caractéristiques communes aux pages
Toutes les classes pour des pages doivent étendre Zend_Navigation_Page,
elles partageront ainsi des caractéristiques communes. Ces options sont représentées dans le
tableau ci-après.
Les noms des options (en clés) sont dirigées vers les setters appropriés set.
Ceci signifie qu'une option appelée order sera passée à la méthode
setOrder(), et une option nommée reset_params sera
dirigée vers setResetParams(). Si aucune méthode setter ne correspond,
l'option sera alors évaluée comme un attribut personnalisé de la page.
Documentez vous au sujet de la création de pages Zend_Navigation_Page dans
la documentation appropriée.
Options communes aux pagesCléTypeValeur par défautDescriptionlabelchaineNULL
Un nom de page, comme 'Home' ou 'Blog'.
idchaine | entierNULL
Un tag id à utiliser lors du rendu de la page, typiquement
pour repérer un élément.
classchaineNULL
Une classe CSS à utiliser lors du rendu de la page.
titlechaineNULL
Un titre de page utilisé lors du rendu, utilisé typiquement
sous forme d'attribut title.
targetchaineNULL
La cible à utiliser dans la page.
reltableauarray()
Attribue les relations de la page.
Chaque élément dans le tableau est une paire clé-valeur où
la clé désigne le type de relation et la valeur un pointeur vers
la page. Par exemple 'alternate' => 'format/plain.html'.
Pour une fléxibilité maximale, il n'y a pas de restrictions quant aux
valeurs, elles peuvent être autre chose qu'une chaine. Concernant
rel et rev, voyez la section de documentation
sur l'aide
de vue Links..
revtableauarray()
Spécifie les relations inverses de la page. Fonctionne tout comme
rel.
orderchaine | entier | NULLNULL
Fonctionne comme order pour les éléments de
Zend_Form. Si spécifiée, la page sera
parcourue dans un ordre précis ce qui signifie que vous pouvez forcer la page
à apparaitre avant les autres en utilisant une valeur de
order basse, comme -100. Si une chaine est passée,
elle doit pouvoir être convertie en entier. Si NULL
est utilisé, le paramètre sera remis à zéro, donc l'ordre dans lequel la page
a été ajoutée sera utilisé.
resourcechaine | Zend_Acl_Resource_Interface | NULLNULL
Une ressource d'ACL à associer à la page. Voyez la documentation
de la section sur les
ACL concernant les aides de vue..
privilegechaine | NULLNULL
Un privilège d'ACL à associer à la page. Voyez la documentation
de la section sur les
ACL concernant les aides de vue..
activebooléenFALSE
Si oui ou non la page doit être considérée comme active. Si à
FALSE (ou non fourni), les pages MVC vont aller
vérifier l'objet requête suite à l'appel à $page->isActive().
visiblebooléenTRUE
Si oui ou non la page doit être visible à l'utilisateur ou juste présente
dans la structure mais non représentée visuellement.
pagestableau | Zend_Config | NULLNULL
Pages enfant de la page en cours. Peut être de type tableau
ou Zend_Config contenant des options à passer à la
méthode factory() ou des instances de
Zend_Navigation_Page, ou un mélange des deux types.
Propriétés personnalisées
Toutes les pages supportent la gestion de propriétés personnalisées, ceci via les méthodes
magiques __set($name, $value), __get($name),
__isset($name) et __unset($name).
Ces propriétés peuvent prendre n'importe quelle valeur et seront incluses dans le tableau
retourné par $page->toArray(), ce qui signifie que les pages peuvent être
dé/sérialisées même si elles comportent des propriétés non natives à leur classe.
Que les pages soient natives ou personnalisées par vos soins, les propriétés peuvent
être gérées au moyen des méthodes $page->set($name, $value) et
$page->get($name), ou encore via des méthodes magiques.
Propriétés de pages personnalisées
Cet exemple montre comment les propriétés personnalisées des pages peuvent être utilisées.
foo = 'bar';
$page->meaning = 42;
echo $page->foo;
if ($page->meaning != 42) {
// quelque chose à faire ici
}
]]>