<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect3 id="zend.view.helpers.initial.object">
    <title>HTML Objekt Helfer</title>

    <para>
        Das <acronym>HTML</acronym> <emphasis><![CDATA[<object>]]></emphasis> Element wird für das
        Einbetten von Medien wie Flash oder Quicktime in Webseiten verwendet. Der Object View Helfer
        übernimmt die Einbettung von Medien mit einem minimalen Aufwand.
    </para>

    <para>
        Es gibt initial view Objekt Helfer:
    </para>

    <itemizedlist>
        <listitem>
            <para>
                <methodname>htmlFlash()</methodname> Erzeugt Markup für die Einbettung von Flash
                Dateien.
            </para>
        </listitem>

        <listitem>
            <para>
                <methodname>htmlObject()</methodname> Erzeugt Markup für die Einbettung von eigenen
                Objekten.
            </para>
        </listitem>

        <listitem>
            <para>
                <methodname>htmlPage()</methodname> Erzeugt Markup für die Einbettung anderer
                (X)HTML Seiten.
            </para>
        </listitem>

        <listitem>
            <para>
                <methodname>htmlQuicktime()</methodname> Erzeugt Markup für die Einbettung von
                QuickTime Dateien.
            </para>
        </listitem>
    </itemizedlist>

    <para>
        Alle diese Helfer teilen sich das gleiche Interface. Aus diesem Grund enthält diese
        Dokumentation nur Beispiele für zwei dieser Helfer.
    </para>

    <example id="zend.view.helpers.initial.object.flash">
        <title>Flash Helfer</title>

        <para>
            Die Einbettung von Flash in die eigene Seite mit Hilfe des Helfers ist recht direkt. Das
            einzige benötigte Argument ist die Ressource <acronym>URI</acronym>.
        </para>

        <programlisting language="php"><![CDATA[
<?php echo $this->htmlFlash('/path/to/flash.swf'); ?>
]]></programlisting>

        <para>
            Das gibt das folgende <acronym>HTML</acronym> aus:
        </para>

        <programlisting language="html"><![CDATA[
<object data="/path/to/flash.swf"
        type="application/x-shockwave-flash"
        classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
        codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
</object>
]]></programlisting>
    </example>

    <para>
        Zusätzlich können Attribute, Parameter und Inhalte definiert werden die mit dem
        <emphasis><![CDATA[<object>]]></emphasis> dargestellt werden. Das wird durch Verwendung des
        <methodname>htmlObject()</methodname> Helfers demonstriert.
    </para>

    <example id="zend.view.helpers.initial.object.object">
        <title>Anpassen des Objekts durch die Übergabe von zusätzlichen Argumenten</title>

        <para>
            Das erste Argument des Objekt Helfers wird immer benötigt. Es ist die
            <acronym>URI</acronym> zu der Ressource die man einbetten will. Das zweite Argument wird
            nur im <methodname>htmlObject()</methodname> Helfer benötigt. Die anderen Helfer
            enthalten bereits den wichtigen Wert für dieses Argument. Der dritte Parameter wird für
            die Übergabe von Argumenten an das Objekt Element verwendet. Es akzeptiert nur ein Array
            mit Schlüssel-Wert Paaren. Die <property>classid</property> und
            <property>codebase</property> sind Beispiel für solche Attribute. Das vierte Argument
            nimmt auch Schlüssel-Wert Paare und verwendet diese für die Erstellung von
            <emphasis><![CDATA[<param>]]></emphasis> Elementen. Sie sehen in Kürze ein Beispiel
            hierfür. Letztendlich, gibt es eine Option für das zur Verfügungstellen von zusätzlichen
            Inhalten beim Objekt. Jetzt folgt ein Beispiel welches alle Argumente verwendet.
        </para>

        <programlisting language="php"><![CDATA[
echo $this->htmlObject(
    '/path/to/file.ext',
    'mime/type',
    array(
        'attr1' => 'aval1',
        'attr2' => 'aval2'
    ),
    array(
        'param1' => 'pval1',
        'param2' => 'pval2'
    ),
    'some content'
);

/*
Das würde folgendes ausgeben:

<object data="/path/to/file.ext" type="mime/type"
    attr1="aval1" attr2="aval2">
    <param name="param1" value="pval1" />
    <param name="param2" value="pval2" />
    some content
</object>
*/
]]></programlisting>
    </example>
</sect3>
