| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.navigation.pages.common">
- <title>Übliche Seiten Features</title>
- <para>
- Alle Seiten Klassen müssen <classname>Zend_Navigation_Page</classname> 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.
- </para>
- <para>
- Options Schlüssel werden zu <code>set</code> Methoden gemappt. Das bedeutet das die Option
- <code>order</code> auf die Methode <methodname>setOrder()</methodname> gemappt wird, und
- <code>reset_params</code> auf die Methode <methodname>setResetParams()</methodname>. Wenn es
- keine Setter Methode für die Option gibt, wird diese als eigene Eigenschaft der Seite
- gesetzt.
- </para>
- <para>
- Lesen Sie mehr über das erweitern von <classname>Zend_Navigation_Page</classname> in
- <link linkend="zend.navigation.pages.custom">Erstellung eigener Seiten Typen</link>.
- </para>
- <table id="zend.navigation.pages.common.options">
- <title>Übliche Seiten Optionen</title>
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Schlüssel</entry>
- <entry>Typ</entry>
- <entry>Standardwert</entry>
- <entry>Beschreibung</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><code>label</code></entry>
- <entry><type>String</type></entry>
- <entry><constant>NULL</constant></entry>
- <entry>Ein Seitenlabel, wie 'Home' oder 'Blog'.</entry>
- </row>
- <row>
- <entry><code>id</code></entry>
- <entry><type>String</type> | <code>int</code></entry>
- <entry><constant>NULL</constant></entry>
- <entry>
- Ein Id Tag/Attribut das verwendet werden kann wenn die Seite dargestellt
- wird, typischerweise in einem Anker Element.
- </entry>
- </row>
- <row>
- <entry><code>class</code></entry>
- <entry><type>String</type></entry>
- <entry><constant>NULL</constant></entry>
- <entry>
- Eine <acronym>CSS</acronym> Klasse die verwendet werden kann wenn die Seite
- dargestellt wird, typischerweise ein Anker Element.
- </entry>
- </row>
- <row>
- <entry><code>title</code></entry>
- <entry><type>String</type></entry>
- <entry><constant>NULL</constant></entry>
- <entry>
- Eine kurze Seitenbeschreibung, typischerweise für die Verwendung als
- <code>title</code> Attribut in einem Anker.
- </entry>
- </row>
- <row>
- <entry><code>target</code></entry>
- <entry><type>String</type></entry>
- <entry><constant>NULL</constant></entry>
- <entry>
- Spezifiziert ein Ziel das für die Seite verwendet werden kann,
- typischerweise ein Anker Element.
- </entry>
- </row>
- <row>
- <entry><code>rel</code></entry>
- <entry><type>Array</type></entry>
- <entry><methodname>array()</methodname></entry>
- <entry>
- 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
- <code>'alternate' => 'format/plain.html'</code>. Um die volle Flexibilität
- zu erlauben, gibt es keine Einschränkungen an den Relationswerten. Der Wert
- muß kein String sein. Lesen Sie über <code>rel</code> und <code>rev</code>
- im <link linkend="zend.view.helpers.initial.navigation.links">Kapitel der
- Link Helfer</link>.
- </entry>
- </row>
- <row>
- <entry><code>rev</code></entry>
- <entry><type>Array</type></entry>
- <entry><methodname>array()</methodname></entry>
- <entry>
- Spezifiziert die Rückwärts Relation für die Seite. Arbeitet genauso wie
- <code>rel</code>.
- </entry>
- </row>
- <row>
- <entry><code>order</code></entry>
- <entry>
- <type>String</type> | <code>int</code> | <constant>NULL</constant>
- </entry>
- <entry><constant>NULL</constant></entry>
- <entry>
- Arbeitet die order für Elemente in
- Works like order for elements in
- <link linkend="zend.form.quickstart.render">
- <classname>Zend_Form</classname></link>. 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 <code>order</code> Attribut auf eine kleinere Nummer gesetzt
- wird, z.B. -100. Wenn ein <type>String</type> angegeben wird, muß dieser
- in einen gültigen <code>int</code> aufgelöst werden können. Wenn
- <constant>NULL</constant> angegeben wird, wird er zurückgesetzt, was
- bedeutet dass die Reihenfolge verwendet wird mit der die Seite im
- Container hinzugefügt wurde.
- </entry>
- </row>
- <row>
- <entry><code>resource</code></entry>
- <entry>
- <type>String</type> | <classname>Zend_Acl_Resource_Interface</classname> |
- <constant>NULL</constant>
- </entry>
- <entry><constant>NULL</constant></entry>
- <entry>
- <acronym>ACL</acronym> Ressource die mit der Seite verknüpft werden soll.
- Lesen Sie mehr im <link
- linkend="zend.view.helpers.initial.navigation.acl">Kapitel
- <acronym>ACL</acronym> Integration in View Helfern</link>.
- </entry>
- </row>
- <row>
- <entry><code>privilege</code></entry>
- <entry><type>String</type> | <constant>NULL</constant></entry>
- <entry><constant>NULL</constant></entry>
- <entry>
- <acronym>ACL</acronym> Privileg das mit der Seite assoziiert werden soll.
- Lesen Sie mehr im <link
- linkend="zend.view.helpers.initial.navigation.acl">Kapitel über
- <acronym>ACL</acronym> Integration in View Helfern</link>.
- </entry>
- </row>
- <row>
- <entry><code>active</code></entry>
- <entry><code>bool</code></entry>
- <entry><constant>FALSE</constant></entry>
- <entry>
- Ob die Seite für die aktuelle Anfrage als aktiv betrachtet werden soll.
- Wenn active <constant>FALSE</constant> ist oder nicht angegeben wird, werden
- <acronym>MVC</acronym> Seiten Ihr Eigenschaften gegen das Anfrage Objekt
- prüfen wenn <code>$page->isActive()</code> aufgerufen wird.
- </entry>
- </row>
- <row>
- <entry><code>visible</code></entry>
- <entry><code>bool</code></entry>
- <entry><constant>TRUE</constant></entry>
- <entry>
- Ob die Seite für den Benutzer sichtbar sein soll, oder nur ein Teil einer
- Struktur ist. Unsichtbare Seiten werden von View Helfern übersprungen.
- </entry>
- </row>
- <row>
- <entry><code>pages</code></entry>
- <entry>
- <type>Array</type> | <classname>Zend_Config</classname> |
- <constant>NULL</constant>
- </entry>
- <entry><constant>NULL</constant></entry>
- <entry>
- Kind Seiten der Seite. Das sollte ein <type>Array</type> oder
- <classname>Zend_Config</classname> Objekt sein das entweder Seiten Optionen
- enthält die in die <methodname>factory()</methodname> Methode übergeben
- werden können, oder die aktuelle <classname>Zend_Navigation_Page</classname>
- Instanz, oder einen Mix von beiden.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <note>
- <title>Eigene Eigenschaften</title>
- <para>
- Alle Seiten unterstützen das Setzen und Empfangen von eigenen Eigenschaften durch
- Verwendung der magischen Methoden <methodname>__set($name, $value)</methodname>,
- <methodname>__get($name)</methodname>, <methodname>__isset($name)</methodname> und
- <methodname>__unset($name)</methodname>. Eigene Eigenschaften können jeden Wert haben,
- und sind im Array enthalten das von <code>$page->toArray()</code> 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.
- </para>
- <para>
- Sowohl native als auch eigene Eigenschaften können gesetzt werden indem
- <code>$page->set($name, $value)</code> verwendet und empfangen indem
- <code>$page->get($name)</code> verwendet wird, oder durch die Verwendung der
- magischen Methoden.
- </para>
- </note>
- <example id="zend.navigation.pages.common.example.customprops">
- <title>Eigene Seiten Eigenschaften</title>
- <para>
- Dieses Beispiel zeigt wie eigene Eigenschaften verwendet werden können.
- </para>
- <programlisting language="php"><![CDATA[
- $page = new Zend_Navigation_Page_Mvc();
- $page->foo = 'bar';
- $page->meaning = 42;
- echo $page->foo;
- if ($page->meaning != 42) {
- // Eine Aktion sollte durchgeführt werden
- }
- ]]></programlisting>
- </example>
- </sect2>
|