Übliche Seiten Features Alle Seiten Klassen müssen Zend_Navigation_Page erweitern, und teilen deshalb ein übliches Set von Features und Eigenschaften. Am ehesten zu beachten ist, das Sie die Optionen in der anbei zu sehenden Tabelle und den gleichen Initialisierungs Prozess teilen. Options Schlüssel werden zu set Methoden gemappt. Das bedeutet das die Option order auf die Methode setOrder() gemappt wird, und reset_params auf die Methode setResetParams(). Wenn es keine Setter Methode für die Option gibt, wird diese als eigene Eigenschaft der Seite gesetzt. Lesen Sie mehr über das erweitern von Zend_Navigation_Page in Erstellung eigener Seiten Typen. Übliche Seiten Optionen Schlüssel Typ Standardwert Beschreibung label String NULL Ein Seitenlabel, wie 'Home' oder 'Blog'. id String | int NULL Ein Id Tag/Attribut das verwendet werden kann wenn die Seite dargestellt wird, typischerweise in einem Anker Element. class String NULL Eine CSS Klasse die verwendet werden kann wenn die Seite dargestellt wird, typischerweise ein Anker Element. title String NULL Eine kurze Seitenbeschreibung, typischerweise für die Verwendung als title Attribut in einem Anker. target String NULL Spezifiziert ein Ziel das für die Seite verwendet werden kann, typischerweise ein Anker Element. rel Array array() Spezifiziert die Weiterleitungs-Relation für die Seite. Jedes Element im Array ist ein Schlüssel-Wert Paar, wobei der Schlüssel den Relation/Link Typ bestimmt, und der Wert ist ein Pointer zu der verlinkten Seite. Ein Beispiel eines Schlüssel-Wert Paares ist 'alternate' => 'format/plain.html'. Um die volle Flexibilität zu erlauben, gibt es keine Einschränkungen an den Relationswerten. Der Wert muß kein String sein. Lesen Sie über rel und rev im Kapitel der Link Helfer. rev Array array() Spezifiziert die Rückwärts Relation für die Seite. Arbeitet genauso wie rel. order String | int | NULL NULL Arbeitet die order für Elemente in Works like order for elements in Zend_Form. Wenn spezifiziert, dann wird die Seite in einer speziellen Reihenfolge durchlaufen, was bedeutet das man eine Seite dazu zwingen kann das eine Seite vor anderen durchlaufen wird indem das order Attribut auf eine kleinere Nummer gesetzt wird, z.B. -100. Wenn ein String angegeben wird, muß dieser in einen gültigen int aufgelöst werden können. Wenn NULL angegeben wird, wird er zurückgesetzt, was bedeutet dass die Reihenfolge verwendet wird mit der die Seite im Container hinzugefügt wurde. resource String | Zend_Acl_Resource_Interface | NULL NULL ACL Ressource die mit der Seite verknüpft werden soll. Lesen Sie mehr im Kapitel ACL Integration in View Helfern. privilege String | NULL NULL ACL Privileg das mit der Seite assoziiert werden soll. Lesen Sie mehr im Kapitel über ACL Integration in View Helfern. active bool FALSE Ob die Seite für die aktuelle Anfrage als aktiv betrachtet werden soll. Wenn active FALSE ist oder nicht angegeben wird, werden MVC Seiten Ihr Eigenschaften gegen das Anfrage Objekt prüfen wenn $page->isActive() aufgerufen wird. visible bool TRUE Ob die Seite für den Benutzer sichtbar sein soll, oder nur ein Teil einer Struktur ist. Unsichtbare Seiten werden von View Helfern übersprungen. pages Array | Zend_Config | NULL NULL Kind Seiten der Seite. Das sollte ein Array oder Zend_Config Objekt sein das entweder Seiten Optionen enthält die in die factory() Methode übergeben werden können, oder die aktuelle Zend_Navigation_Page Instanz, oder einen Mix von beiden.
Eigene Eigenschaften Alle Seiten unterstützen das Setzen und Empfangen von eigenen Eigenschaften durch Verwendung der magischen Methoden __set($name, $value), __get($name), __isset($name) und __unset($name). Eigene Eigenschaften können jeden Wert haben, und sind im Array enthalten das von $page->toArray() zurückgegeben wird, was bedeutet das Seiten erfolgreich serialisiert/de-serialisiert werden können, selbst wenn die Seiten Eigenschaften enthalten die nicht nativ in der Seitenklasse sind. Sowohl native als auch eigene Eigenschaften können gesetzt werden indem $page->set($name, $value) verwendet und empfangen indem $page->get($name) verwendet wird, oder durch die Verwendung der magischen Methoden. Eigene Seiten Eigenschaften Dieses Beispiel zeigt wie eigene Eigenschaften verwendet werden können. foo = 'bar'; $page->meaning = 42; echo $page->foo; if ($page->meaning != 42) { // Eine Aktion sollte durchgeführt werden } ]]>