Zend_Markup-Renderers.xml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 20275 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.markup.renderers">
  5. <title>Zend_Markup Renderer</title>
  6. <para>
  7. <classname>Zend_Markup</classname> wird aktuell mit einem Renderer ausgeliefert, dem
  8. <acronym>HTML</acronym> Renderer.
  9. </para>
  10. <sect2 id="zend.markup.renderers.add">
  11. <title>Eigene Tags hinzufügen</title>
  12. <para>
  13. Indem man eigene Tags hinzufügt, kann man den <classname>Zend_Markup</classname>
  14. Renderern eigene Funktionalitäten hinzufügen. Mit der Tag Struktur kann man jede
  15. Funktionalität welche man haben will hinzufügen. Von einfachen Tags bis zu komplizierten
  16. Tag Strukturen. Ein einfaches Beispiel für ein 'foo' Tag:
  17. </para>
  18. <programlisting language="php"><![CDATA[
  19. // Erstellt eine Instanz von Zend_Markup_Renderer_Html,
  20. // mit Zend_Markup_Parser_BbCode als seinen Parser
  21. $bbcode = Zend_Markup::factory('Bbcode');
  22. // Dies erstellt ein einfaches 'foo' Tag
  23. // Der erste Parameter definiert den Namen des Tags
  24. // Der zweite Parameter nimmt ein Integer welche den Typ des Tags definiert
  25. // Der dritte Parameter ist ein Array die andere Dinge des Tags definiert
  26. // wie die Gruppe des Tags, und (in diesem Fall) ein Start und Ende Tag
  27. $bbcode->addTag(
  28. 'foo',
  29. Zend_Markup_Renderer_RendererAbstract::TYPE_REPLACE
  30. | Zend_Markup_Renderer_RendererAbstract::TAG_NORMAL,
  31. array(
  32. 'start' => '-bar-',
  33. 'end' => '-baz-',
  34. 'group' => 'inline',
  35. )
  36. );
  37. // Jetzt gibt dies folgendes aus: 'my -bar-tag-baz-'
  38. echo $bbcode->render('my [foo]tag[/foo]');
  39. ]]></programlisting>
  40. <para>
  41. Es gilt zu beachten das die Erstellung eigener Tag nur dann Sinn macht wenn der eigene
  42. Parser diese auch in einer Tag Struktur unterstützt. Aktuell unterstützt dies nur
  43. BBCode. Textile hat keine Unterstützung für eigene Tags.
  44. </para>
  45. </sect2>
  46. <sect2 id="zend.markup.renderers.list">
  47. <title>Liste der Tags</title>
  48. <table id="zend.markup.renderers.list.tags">
  49. <title>Liste der Tags</title>
  50. <tgroup cols="2" align="left" colsep="1" rowsep="1">
  51. <thead>
  52. <row>
  53. <entry>Beispiel Eingabe (BBCode)</entry>
  54. <entry>Beispiel Ausgabe</entry>
  55. </row>
  56. </thead>
  57. <tbody>
  58. <row>
  59. <entry>[b]foo[/b]</entry>
  60. <entry><![CDATA[<strong>foo</strong>]]></entry>
  61. </row>
  62. <row>
  63. <entry>[i]foo[/i]</entry>
  64. <entry><![CDATA[<em>foo</em>]]></entry>
  65. </row>
  66. <row>
  67. <entry>[cite]foo[/cite]</entry>
  68. <entry><![CDATA[<cite>foo</cite>]]></entry>
  69. </row>
  70. <row>
  71. <entry>[del]foo[/del]</entry>
  72. <entry><![CDATA[<del>foo</del>]]></entry>
  73. </row>
  74. <row>
  75. <entry>[ins]foo[/ins]</entry>
  76. <entry><![CDATA[<ins>foo</ins>]]></entry>
  77. </row>
  78. <row>
  79. <entry>[sup]foo[/sup]</entry>
  80. <entry><![CDATA[<sup>foo</sup>]]></entry>
  81. </row>
  82. <row>
  83. <entry>[sub]foo[/sub]</entry>
  84. <entry><![CDATA[<sub>foo</sub>]]></entry>
  85. </row>
  86. <row>
  87. <entry>[span]foo[/span]</entry>
  88. <entry><![CDATA[<span>foo</span>]]></entry>
  89. </row>
  90. <row>
  91. <entry>[acronym title="PHP Hypertext Preprocessor]PHP[/acronym]</entry>
  92. <entry><![CDATA[<acronym title="PHP Hypertext Preprocessor">PHP</acronym>]]></entry>
  93. </row>
  94. <row>
  95. <entry>[url=http://framework.zend.com/]Zend Framework[/url]</entry>
  96. <entry><![CDATA[<a href="http://framework.zend.com/">Zend Framework</a>]]></entry>
  97. </row>
  98. <row>
  99. <entry>[h1]foobar[/h1]</entry>
  100. <entry><![CDATA[<h1>foobar</h1>]]></entry>
  101. </row>
  102. <row>
  103. <entry>[img]http://framework.zend.com/images/logo.gif[/img]</entry>
  104. <entry><![CDATA[<img src="http://framework.zend.com/images/logo.gif" />]]></entry>
  105. </row>
  106. </tbody>
  107. </tgroup>
  108. </table>
  109. </sect2>
  110. </sect1>