| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.layout.options">
- <title>Zend_Layout Konfigurations Optionen</title>
- <para>
- <classname>Zend_Layout</classname> hat eine Variation an Konfigurations Optionen. Diese
- können durch den Aufruf entsprechender Zugriffsmethoden gesetzt werden, durch die Übergabe
- eines Arrays oder <classname>Zend_Config</classname> Objektes an den Konstruktor oder
- <methodname>startMvc()</methodname>, durch die Übergabe eines Arrays von Optionen an
- <methodname>setOptions()</methodname>, oder der Übergabe eines
- <classname>Zend_Config</classname> Objektes an <methodname>setConfig()</methodname>.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>layout</emphasis>: Das Layout das verwendet werden soll. Verwendet die
- aktuelle Beugung um den Namen, der dem entsprechenden Layout View Skript angegeben
- wurde, aufzulösen. Standardmäßig ist dieser Wert 'layout' und wird zu 'layout.phtml'
- aufgelöst. Zugriffsmethoden sind <methodname>setLayout()</methodname> und
- <methodname>getLayout()</methodname>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>layoutPath</emphasis>: Der Basispfad zu den Layout View Skripten.
- Zugriffsmethoden sind <methodname>setLayoutPath()</methodname> und
- <methodname>getLayoutPath()</methodname>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>contentKey</emphasis>: Die Layout Variable die für Standardinhalte
- verwendet wird (wenn mit dem <acronym>MVC</acronym> verwendet). Der Standardwert ist
- 'content'. Zugriffsmethoden sind <methodname>setContentKey()</methodname> und
- <methodname>getContentKey()</methodname>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>mvcSuccessfulActionOnly</emphasis>: Wenn <acronym>MVC</acronym> verwendet
- wird, dann wird das Layout nicht dargestellt wenn eine Aktion eine Ausnahme wirft
- und dieses Flag <constant>TRUE</constant> ist (das wird verwendet um zu verhindern
- dass das Layout doppelt dargestellt wird wenn das <link
- linkend="zend.controller.plugins.standard.errorhandler">ErrorHandler
- Plugin</link> verwendet wird. Standardmäßig ist dieses Flag
- <constant>TRUE</constant>. Zugriffsmethoden sind
- <methodname>setMvcSuccessfulActionOnly()</methodname> und
- <methodname>getMvcSuccessfulActionOnly()</methodname>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>view</emphasis>: Das View Objekt das für die Darstellung verwendet wird.
- Wenn mit <acronym>MVC</acronym> verwendet, dann versucht
- <classname>Zend_Layout</classname> das View Objekt zu verwenden das mit <link
- linkend="zend.controller.actionhelpers.viewrenderer">dem ViewRenderer</link>
- registriert wurde wenn kein explizites View Objekt übergeben wurde. Zugriffsmethoden
- sind <methodname>setView()</methodname> und <methodname>getView()</methodname>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>helperClass</emphasis>: Die Action Helfer Klasse die verwendet wird wenn
- <classname>Zend_Layout</classname> mit den <acronym>MVC</acronym> Komponenten
- verwendet wird. Standardmäßig ist das
- <classname>Zend_Layout_Controller_Action_Helper_Layout</classname>. Zugriffsmethoden
- sind <methodname>setHelperClass()</methodname> und
- <methodname>getHelperClass()</methodname>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>pluginClass</emphasis>: Das Front Controller Plugin das verwendet wird
- wenn <classname>Zend_Layout</classname> mit den <acronym>MVC</acronym> Komponenten
- verwendet wird. Standardmäßig ist das
- <classname>Zend_Layout_Controller_Plugin_Layout</classname>. Zugriffsmethoden sind
- <methodname>setPluginClass()</methodname> und
- <methodname>getPluginClass()</methodname>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>inflector</emphasis>: Die Beugung die verwendet werden soll wenn Layout
- Namen zu Layout Skript Pfaden aufgelöst werden; siehe <link
- linkend="zend.layout.advanced.inflector">die <classname>Zend_Layout</classname>
- Beugungs Dokumentation für weitere Details</link>. Zugriffsmethoden sind
- <methodname>setInflector()</methodname> und <methodname>getInflector()</methodname>.
- </para>
- </listitem>
- </itemizedlist>
- <note>
- <title>HelferKlasse und PluginKlasse müssen an startMvc() übergeben werden</title>
- <para>
- Damit die <property>helperClass</property> und <property>pluginClass</property>
- Einstellungen wirken, müssen diese als Option an <methodname>startMvc()</methodname>
- übergeben werden; wenn sie später gesetzt werden, haben Sie keinen Effekt.
- </para>
- </note>
- <sect2 id="zend.layout.options.examples">
- <title>Beispiele</title>
- <para>
- Die folgenden Beispiele nehmen das folgende <varname>$options</varname> Array und
- <varname>$config</varname> Objekt an:
- </para>
- <programlisting language="php"><![CDATA[
- $options = array(
- 'layout' => 'foo',
- 'layoutPath' => '/path/to/layouts',
- 'contentKey' => 'CONTENT', // Ignoriert wenn MVC nicht verwendet wird
- );
- ]]></programlisting>
- <programlisting language="php"><![CDATA[
- /**
- [layout]
- layout = "foo"
- layoutPath = "/path/to/layouts"
- contentKey = "CONTENT"
- */
- $config = new Zend_Config_Ini('/path/to/layout.ini', 'layout');
- ]]></programlisting>
- <example id="zend.layout.options.examples.constructor">
- <title>Optionen an den Konstruktor oder startMvc() übergeben</title>
- <para>
- Beide, der Konstruktor und die statische <methodname>startMvc()</methodname> Methode
- akzeptieren entweder ein Array von Optionen oder ein
- <classname>Zend_Config</classname> Objekt mit Optionen um die
- <classname>Zend_Layout</classname> Instanz zu konfigurieren.
- </para>
- <para>
- Zuerst zeigen wir die Übergabe eines Arrays:
- </para>
- <programlisting language="php"><![CDATA[
- // Konstruktor verwenden:
- $layout = new Zend_Layout($options);
- // startMvc() verwenden:
- $layout = Zend_Layout::startMvc($options);
- ]]></programlisting>
- <para>
- Und jetzt die Verwendung eines Config Objekts:
- </para>
- <programlisting language="php"><![CDATA[
- $config = new Zend_Config_Ini('/path/to/layout.ini', 'layout');
- // Konstruktor verwenden:
- $layout = new Zend_Layout($config);
- // startMvc() verwenden:
- $layout = Zend_Layout::startMvc($config);
- ]]></programlisting>
- <para>
- Grundsätzlich ist das der einfachste Weg um die <classname>Zend_Layout</classname>
- Instanz anzupassen.
- </para>
- </example>
- <example id="zend.layout.options.examples.setoptionsconfig">
- <title>setOption() und setConfig() verwenden</title>
- <para>
- Machmal ist es notwendig das <classname>Zend_Layout</classname> Objekt zu
- Konfigurieren nachdem es instanziiert wurde; <methodname>setOptions()</methodname>
- und <methodname>setConfig()</methodname> bieten einen schnellen und einfachen Weg
- das zu tun:
- </para>
- <programlisting language="php"><![CDATA[
- // Ein Array von Optionen verwenden:
- $layout->setOptions($options);
- // Ein Zend_Config Objekt verwenden:
- $layout->setConfig($options);
- ]]></programlisting>
- <para>
- Es ist zu beachten das einige Optionen, wie <property>pluginClass</property> und
- <property>helperClass</property>, keinen Effekt haven wenn Sie mit Hilfe dieser
- Methode übergeben werden; sie müssen mit dem Konstruktor oder der
- <methodname>startMvc()</methodname> Methode übergeben werden.
- </para>
- </example>
- <example id="zend.layout.options.examples.accessors">
- <title>Zugriffsmethoden verwenden</title>
- <para>
- Letztendlich kann die <classname>Zend_Layout</classname> Instanz auch über
- Zugriffsmetoden konfiguriert werden. Alle Zugriffsmethoden implementieren ein
- Flüssiges Interface, was bedeutet das Ihre Aufrufe gekettet werden können:
- </para>
- <programlisting language="php"><![CDATA[
- $layout->setLayout('foo')
- ->setLayoutPath('/path/to/layouts')
- ->setContentKey('CONTENT');
- ]]></programlisting>
- </example>
- </sect2>
- </sect1>
|