Ü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 OptionenSchlüsselTypStandardwertBeschreibunglabelStringNULLEin Seitenlabel, wie 'Home' oder 'Blog'.idString | intNULL
Ein Id Tag/Attribut das verwendet werden kann wenn die Seite dargestellt
wird, typischerweise in einem Anker Element.
classStringNULL
Eine CSS Klasse die verwendet werden kann wenn die Seite
dargestellt wird, typischerweise ein Anker Element.
titleStringNULL
Eine kurze Seitenbeschreibung, typischerweise für die Verwendung als
title Attribut in einem Anker.
targetStringNULL
Spezifiziert ein Ziel das für die Seite verwendet werden kann,
typischerweise ein Anker Element.
relArrayarray()
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.
revArrayarray()
Spezifiziert die Rückwärts Relation für die Seite. Arbeitet genauso wie
rel.
orderString | int | NULLNULL
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.
resourceString | Zend_Acl_Resource_Interface |
NULLNULL
ACL Ressource die mit der Seite verknüpft werden soll.
Lesen Sie mehr im Kapitel
ACL Integration in View Helfern.
privilegeString | NULLNULL
ACL Privileg das mit der Seite assoziiert werden soll.
Lesen Sie mehr im Kapitel über
ACL Integration in View Helfern.
activeboolFALSE
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.
visibleboolTRUE
Ob die Seite für den Benutzer sichtbar sein soll, oder nur ein Teil einer
Struktur ist. Unsichtbare Seiten werden von View Helfern übersprungen.
pagesArray | Zend_Config |
NULLNULL
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
}
]]>