| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 20275 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.markup.renderers">
- <title>Zend_Markup Renderer</title>
- <para>
- <classname>Zend_Markup</classname> wird aktuell mit einem Renderer ausgeliefert, dem
- <acronym>HTML</acronym> Renderer.
- </para>
- <sect2 id="zend.markup.renderers.add">
- <title>Eigene Tags hinzufügen</title>
- <para>
- Indem man eigene Tags hinzufügt, kann man den <classname>Zend_Markup</classname>
- Renderern eigene Funktionalitäten hinzufügen. Mit der Tag Struktur kann man jede
- Funktionalität welche man haben will hinzufügen. Von einfachen Tags bis zu komplizierten
- Tag Strukturen. Ein einfaches Beispiel für ein 'foo' Tag:
- </para>
- <programlisting language="php"><![CDATA[
- // Erstellt eine Instanz von Zend_Markup_Renderer_Html,
- // mit Zend_Markup_Parser_BbCode als seinen Parser
- $bbcode = Zend_Markup::factory('Bbcode');
- // Dies erstellt ein einfaches 'foo' Tag
- // Der erste Parameter definiert den Namen des Tags
- // Der zweite Parameter nimmt ein Integer welche den Typ des Tags definiert
- // Der dritte Parameter ist ein Array die andere Dinge des Tags definiert
- // wie die Gruppe des Tags, und (in diesem Fall) ein Start und Ende Tag
- $bbcode->addTag(
- 'foo',
- Zend_Markup_Renderer_RendererAbstract::TYPE_REPLACE
- | Zend_Markup_Renderer_RendererAbstract::TAG_NORMAL,
- array(
- 'start' => '-bar-',
- 'end' => '-baz-',
- 'group' => 'inline',
- )
- );
- // Jetzt gibt dies folgendes aus: 'my -bar-tag-baz-'
- echo $bbcode->render('my [foo]tag[/foo]');
- ]]></programlisting>
- <para>
- Es gilt zu beachten das die Erstellung eigener Tag nur dann Sinn macht wenn der eigene
- Parser diese auch in einer Tag Struktur unterstützt. Aktuell unterstützt dies nur
- BBCode. Textile hat keine Unterstützung für eigene Tags.
- </para>
- </sect2>
- <sect2 id="zend.markup.renderers.list">
- <title>Liste der Tags</title>
- <table id="zend.markup.renderers.list.tags">
- <title>Liste der Tags</title>
- <tgroup cols="2" align="left" colsep="1" rowsep="1">
- <thead>
- <row>
- <entry>Beispiel Eingabe (BBCode)</entry>
- <entry>Beispiel Ausgabe</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>[b]foo[/b]</entry>
- <entry><![CDATA[<strong>foo</strong>]]></entry>
- </row>
- <row>
- <entry>[i]foo[/i]</entry>
- <entry><![CDATA[<em>foo</em>]]></entry>
- </row>
- <row>
- <entry>[cite]foo[/cite]</entry>
- <entry><![CDATA[<cite>foo</cite>]]></entry>
- </row>
- <row>
- <entry>[del]foo[/del]</entry>
- <entry><![CDATA[<del>foo</del>]]></entry>
- </row>
- <row>
- <entry>[ins]foo[/ins]</entry>
- <entry><![CDATA[<ins>foo</ins>]]></entry>
- </row>
- <row>
- <entry>[sup]foo[/sup]</entry>
- <entry><![CDATA[<sup>foo</sup>]]></entry>
- </row>
- <row>
- <entry>[sub]foo[/sub]</entry>
- <entry><![CDATA[<sub>foo</sub>]]></entry>
- </row>
- <row>
- <entry>[span]foo[/span]</entry>
- <entry><![CDATA[<span>foo</span>]]></entry>
- </row>
- <row>
- <entry>[acronym title="PHP Hypertext Preprocessor]PHP[/acronym]</entry>
- <entry><![CDATA[<acronym title="PHP Hypertext Preprocessor">PHP</acronym>]]></entry>
- </row>
- <row>
- <entry>[url=http://framework.zend.com/]Zend Framework[/url]</entry>
- <entry><![CDATA[<a href="http://framework.zend.com/">Zend Framework</a>]]></entry>
- </row>
- <row>
- <entry>[h1]foobar[/h1]</entry>
- <entry><![CDATA[<h1>foobar</h1>]]></entry>
- </row>
- <row>
- <entry>[img]http://framework.zend.com/images/logo.gif[/img]</entry>
- <entry><![CDATA[<img src="http://framework.zend.com/images/logo.gif" />]]></entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect2>
- </sect1>
|