Zend_Dojo-View-Dojo.xml 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 20766 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.dojo.view.dojo">
  5. <title>dojo() View Helfer</title>
  6. <para>
  7. Der <methodname>dojo()</methodname> View Helfer ist dazu gedacht das konfigurieren der Dojo
  8. Umgebung zu vereinfachen, was die folgenden Notwendigkeiten beinhaltet:
  9. </para>
  10. <itemizedlist>
  11. <listitem>
  12. <para>Spezifizieren eines CDN oder lokalen Pfades zu einer Dojo Installation.</para>
  13. </listitem>
  14. <listitem><para>Spezifizieren von Pfaden zu eigenen Dojo Modulen.</para></listitem>
  15. <listitem><para>Spezifizieren von dojo.require Statements.</para></listitem>
  16. <listitem><para>Spezifizieren von Dijit Stylesheet Themen zur Verwendung.</para></listitem>
  17. <listitem><para>Spezifizieren von dojo.addOnLoad() Events.</para></listitem>
  18. </itemizedlist>
  19. <para>
  20. Die <methodname>dojo()</methodname> View Helfer Implementation ist ein Beispiel einer
  21. Platzhalter Implementation. Das Datenset in Ihm ist persistent zwischen den View Objekten,
  22. und kann direkt im eigenen Layout Skript ausgegeben werden.
  23. </para>
  24. <example id="zend.dojo.view.dojo.usage">
  25. <title>Beispiel für die Verwendung des dojo() View Helfers</title>
  26. <para>
  27. Für dieses Beispiel nehmen wir an das der Entwickler Dojo von einem lokalen Pfad aus
  28. verwenden wird, verschiedene Dijits benötigt, und das Tundra Dijit Thema anpasst.
  29. </para>
  30. <para>
  31. Auf vielen Seiten, kann der Entwickler Dojo nicht einmal verwenden. Deshalb werden wir
  32. uns zuerst auf ein View Skript fokusieren indem Dojo benötigt wird, und dann auf das
  33. Layout Skript, indem wir einiges der Dojo Umgebung einstellen und anschließend
  34. darstellen werden.
  35. </para>
  36. <para>
  37. Zuerst müssen wir unserem View Objekt mitteilen das es die Dojo View Helferpfade
  38. verwenden soll. Das kann in der eigenen Bootstrap Datei getan werden oder in einem
  39. Plugin das früh abläuft; einfach das View Objekt nehmen und das folgende ausführen:
  40. </para>
  41. <programlisting language="php"><![CDATA[
  42. $view->addHelperPath('Zend/Dojo/View/Helper/', 'Zend_Dojo_View_Helper');
  43. ]]></programlisting>
  44. <para>
  45. Als nächstes das View Skript. In diesem Fall werden die spezifizieren das ein
  46. FilterSelect verwendet werden soll -- welcher einen eigenen Speicher basierend auf
  47. QueryReadStore verwenden wird, und den wir 'PairedStore' nennen und in unserem 'custom'
  48. Modul speichern.
  49. </para>
  50. <programlisting language="php"><![CDATA[
  51. <?php // Datenspeicher für FilteringSelect einstellen ?>
  52. <div dojoType="custom.PairedStore" jsId="stateStore"
  53. url="/data/autocomplete/type/state/format/ajax"
  54. requestMethod="get"></div>
  55. <?php // Eingabeelement: ?>
  56. State: <input id="state" dojoType="dijit.form.FilteringSelect"
  57. store="stateStore" pageSize="5" />
  58. <?php // Notwendige Dojo Elemente einstellen:
  59. $this->dojo()->enable()
  60. ->setDjConfigOption('parseOnLoad', true)
  61. ->registerModulePath('custom', '../custom/')
  62. ->requireModule('dijit.form.FilteringSelect')
  63. ->requireModule('custom.PairedStore'); ?>
  64. ]]></programlisting>
  65. <para>
  66. In unserem Layout Skript, prüfen wir anschließend ob Dojo aktiviert ist, und wenn das
  67. der Fall ist, erledigen wir einige generelle Konfigurationen und fügen Sie hinzu:
  68. </para>
  69. <programlisting language="php"><![CDATA[
  70. <?php echo $this->doctype() ?>
  71. <html>
  72. <head>
  73. <?php echo $this->headTitle() ?>
  74. <?php echo $this->headMeta() ?>
  75. <?php echo $this->headLink() ?>
  76. <?php echo $this->headStyle() ?>
  77. <?php if ($this->dojo()->isEnabled()){
  78. $this->dojo()->setLocalPath('/js/dojo/dojo.js')
  79. ->addStyleSheetModule('dijit.themes.tundra');
  80. echo $this->dojo();
  81. }
  82. ?>
  83. <?php echo $this->headScript() ?>
  84. </head>
  85. <body class="tundra">
  86. <?php echo $this->layout()->content ?>
  87. <?php echo $this->inlineScript() ?>
  88. </body>
  89. </html>
  90. ]]></programlisting>
  91. <para>
  92. An diesem Punkt muß man nur sicherstellen das die Dateien am richtigen Ort vorhanden
  93. sind und das man die Aktion des Endpunktes für das FilteringSelect erstellt hat!
  94. </para>
  95. </example>
  96. <note>
  97. <title>Standardmäßig wird die UTF-8 Kodierung verwendet</title>
  98. <para>
  99. Standardmäßig verwendet Zend Framework <acronym>UTF-8</acronym> als seine
  100. Standardkodierung, und speziell in diesem Fall, macht das
  101. <classname>Zend_View</classname> genauso. Die Zeichenkodierung kann im View Objekt
  102. selbst auf etwas anderes gesetzt werden indem die Methode
  103. <methodname>setEncoding()</methodname> verwendet wird (oder der Parameter
  104. <varname>encoding</varname> bei der Instanzierung angegeben wird). Trotzdem, da
  105. <classname>Zend_View_Interface</classname> keine Zugriffsmethoden für die Kodierung
  106. anbietet ist es möglich dass, wenn man eine eigene View Implementation verwendet, man
  107. keine <methodname>getEncoding()</methodname> Methode hat, welche der View Helfer intern
  108. für die Erkennung des Zeichensets verwendet in das kodiert werden soll.
  109. </para>
  110. <para>
  111. Wenn man <acronym>UTF-8</acronym> in solch einer Situation nicht verwenden will, muss
  112. man in der eigenen View Implementation eine <methodname>getEncoding()</methodname>
  113. Methode implementieren.
  114. </para>
  115. </note>
  116. <sect3 id="zend.dojo.view.dojo.declarative">
  117. <title>Programtechnische und Deklarative Verwendung von Dojo</title>
  118. <para>
  119. Dojo erlaubt sowohl die <emphasis>deklarative</emphasis> als auch die
  120. <emphasis>programmtechnische</emphasis> Verwendung von vielen Ihrer Features.
  121. <emphasis>Deklarative</emphasis> Verwendung verwendet Standard HTML Elemente mit
  122. nicht-standard Attributen die geparst werden wenn die Seite geladen wird. Wärend das
  123. eine mächtige und einfach verwendbare Syntax ist, kann Sie für viele Entwickler Probleme
  124. bei der Überprüfung einer Seite verursachen.
  125. </para>
  126. <para>
  127. <emphasis>Programmtechnische</emphasis> Verwendung erlaubt dem Entwickler existierende
  128. Elemente zu dekorieren indem Sie anhand von ID oder <acronym>CSS</acronym> Selektoren
  129. geholt werden und dem entsprechenden Objektkonstruktoren in Dojo übergeben werden. Weil
  130. keine nicht-standard HTML Attribute verwendet werden, bleiben Seiten hiermit gültig.
  131. </para>
  132. <para>
  133. In der Praxis, erlauben beide Fälle eine zierliche Degeneration wenn Javascript
  134. ausgeschaltet ist, oder die verschiedenen Dojo Skriptresourcen nicht erreichbar sind. Um
  135. Standards und Dokumentüberprüfungen zu gestatten verwendet Zend Framework standardmäßig
  136. die programmtechnische Verwendung; die verschiedenen Viewhelfer erzeugen Javascript und
  137. übergeben dieses an den <methodname>dojo()</methodname> Viewhelfer für die Einbeziehung
  138. wenn er dargestellt wird.
  139. </para>
  140. <para>
  141. Entwickler die diese Technik verwenden wollen eventuell auch die Option kennenlernen mit
  142. der Sie Ihre eigene programmtechnische Deklaration auf der Seite schreiben können. Ein
  143. Vorteil wäre die Möglichkeit Handler für Dijit Events zu spezifizieren.
  144. </para>
  145. <para>
  146. Um das zu erlauben, wie auch die Möglichkeit die deklarative Syntax zu verwenden, sind
  147. es eine Anzahl von statischen Methoden vorhanden die dieses Verhalten global setzen.
  148. </para>
  149. <example id="zend.dojo.view.dojo.declarative.usage">
  150. <title>
  151. Spezifizieren der deklarativen und programmtechnischen Verwendung von Dojo
  152. </title>
  153. <para>
  154. Um die deklarative Verwendung zu spezifizieren muß einfach die statische
  155. <methodname>setUseDeclarative()</methodname> Methode aufgerufen werden:
  156. </para>
  157. <programlisting language="php"><![CDATA[
  158. Zend_Dojo_View_Helper_Dojo::setUseDeclarative();
  159. ]]></programlisting>
  160. <para>
  161. Wenn man stattdessen die programmtechnische Verwendung verwenden will, muß die
  162. statische <methodname>setUseProgrammatic()</methodname> Methode aufgerufen werden:
  163. </para>
  164. <programlisting language="php"><![CDATA[
  165. Zend_Dojo_View_Helper_Dojo::setUseProgrammatic();
  166. ]]></programlisting>
  167. <para>
  168. Letztendlich, wenn man programmtechnische Regeln selbst erstellen will, sollte man
  169. die programmtechnische Verwendung spezifizieren, aber den Wert '-1' übergeben; in
  170. diesem Fall wird kein Javascript, für die Dekoration von verwendeten Dijits,
  171. erstellt.
  172. </para>
  173. <programlisting language="php"><![CDATA[
  174. Zend_Dojo_View_Helper_Dojo::setUseProgrammatic(-1);
  175. ]]></programlisting>
  176. </example>
  177. </sect3>
  178. <sect3 id="zend.dojo.view.dojo.themes">
  179. <title>Themen</title>
  180. <para>
  181. Dojo erlaubt die Erstellung von Themen für seine Dijits (Widgets). Man kann eines
  182. auswählen indem ein Modulpfad übergeben wird:
  183. </para>
  184. <programlisting language="php"><![CDATA[
  185. $view->dojo()->addStylesheetModule('dijit.themes.tundra');
  186. ]]></programlisting>
  187. <para>
  188. Der Modulpfad wird durch die Verwendung des Zeichens '.' als Trennzeichen vom
  189. Verzeichnis erkannt und der Verwendung des letzten Wertes in der Liste als den Namen der
  190. <acronym>CSS</acronym> Datei die im Themenverzeichnis verwendet wird; im obigen Beispiel
  191. sucht Dojo das Thema in 'dijit/themes/tundra/tundra.css'.
  192. </para>
  193. <para>
  194. Wenn ein Thema verwendet wird ist es wichtig daran zu denken die Themenklasse, zumindest
  195. an den Container der jedes Dijit das verwendet wird umgibt, zu übergeben; im üblichsten
  196. Fällen wird es an den Body übergeben:
  197. </para>
  198. <programlisting language="html"><![CDATA[
  199. <body class="tundra">
  200. ]]></programlisting>
  201. </sect3>
  202. <sect3 id="zend.dojo.view.dojo.layers">
  203. <title>Layer verwenden (eigene Builds)</title>
  204. <para>
  205. Wenn ein dojo.require Statement verwendet wird, wird Dojo standardmäßig eine Anfrage an
  206. den Server zurücksenden um die richtige Javascript Datei zu holen. Wenn man viele Dijits
  207. verwendet, resultiert das in vielen Anfragen an den Server -- was nicht optimal ist.
  208. </para>
  209. <para>
  210. Dojo's Antwort darauf ist es die Möglichkeit anzubieten
  211. <emphasis>eigene Builds</emphasis> zu erstellen. Builds machen verschiedene Dinge:
  212. </para>
  213. <itemizedlist>
  214. <listitem>
  215. <para>
  216. Benötigte Dateien in <emphasis>Layern</emphasis> gruppieren; ein Layer sammelt
  217. alle benötigten Dateien in eine einzelne JS Datei. (Daher der Name dieses
  218. Kapitels)
  219. </para>
  220. </listitem>
  221. <listitem>
  222. <para>
  223. "Interne" nicht-javascript Dateien die von Dijits verwendet werden
  224. (typischerweise Templatedateien). Diese werden auch in der gleichen JS Datei
  225. gruppiert wie der Layer.
  226. </para>
  227. </listitem>
  228. <listitem>
  229. <para>
  230. Die Datei wird an ShrinkSafe übergeben, welches Leerzeichen und Kommentare
  231. entfernt, sowie Variablennamen verkleinert.
  232. </para>
  233. </listitem>
  234. </itemizedlist>
  235. <para>
  236. Einige Dateien können nicht in einen Layer gelegt werden, aber der Buildprozess wird
  237. ein spezielles Releaseverzeichnis mit der Layerdatei und allen anderen Dateien
  238. erstellen. Das erlaubt es eine verkleinerte eigene Distribution für die eigene Site oder
  239. Anwendungen zu erhalten.
  240. </para>
  241. <para>
  242. Um einen Layer zu verwenden, hat der <methodname>dojo()</methodname> Viewhelfer eine
  243. <methodname>addLayer()</methodname> Methode für das hinzufügen von Pfaden zu benötigten
  244. Layern:
  245. </para>
  246. <programlisting language="html"><![CDATA[
  247. $view->dojo()->addLayer('/js/foo/foo.js');
  248. ]]></programlisting>
  249. <para>
  250. Für weitere Informationen über die Erstellung von eigenen Build, schauen Sie bitte
  251. <ulink
  252. url="http://dojotoolkit.org/book/dojo-book-0-9/part-4-meta-dojo/package-system-and-custom-builds">in
  253. die Dojo Builddokumentation</ulink>.
  254. </para>
  255. </sect3>
  256. <sect3 id="zend.dojo.view.dojo.methods">
  257. <title>Vorhandene Methoden</title>
  258. <para>
  259. Der <methodname>dojo()</methodname> Viewhelfer gibt immer eine Instanz des Dojo
  260. Platzhaltercontainers zurück. Dieses Containerobjekt bietet die folgenden Methoden an:
  261. </para>
  262. <itemizedlist>
  263. <listitem>
  264. <para>
  265. <methodname>setView(Zend_View_Interface $view)</methodname>: Setzt eine
  266. Viewinstanz im Container
  267. </para>
  268. </listitem>
  269. <listitem>
  270. <para>
  271. <methodname>enable()</methodname>: Die Dojo Integration explizit einschalten.
  272. </para>
  273. </listitem>
  274. <listitem>
  275. <para><methodname>disable()</methodname>: Die Dojo Integration ausschalten.</para>
  276. </listitem>
  277. <listitem>
  278. <para>
  279. <methodname>isEnabled()</methodname>: Ermitteln ob die Dojo Integration
  280. eingeschaltet ist oder nicht.
  281. </para>
  282. </listitem>
  283. <listitem>
  284. <para>
  285. <methodname>requireModule($module)</methodname>: Ein
  286. <property>dojo.require</property> Statement konfigurieren.
  287. </para>
  288. </listitem>
  289. <listitem>
  290. <para>
  291. <methodname>getModules()</methodname>: Erkennen welche Module benötigt werden.
  292. </para>
  293. </listitem>
  294. <listitem>
  295. <para>
  296. <methodname>registerModulePath($module, $path)</methodname>: Einen Dojo
  297. Modulpfad registrieren.
  298. </para>
  299. </listitem>
  300. <listitem>
  301. <para>
  302. <methodname>getModulePaths()</methodname>: Eine Liste von registrierten
  303. Modulpfaden erhalten.
  304. </para>
  305. </listitem>
  306. <listitem>
  307. <para>
  308. <methodname>addLayer($path)</methodname>: Einen Layerpfad (eigenen Build) für
  309. die Verwendung hinzufügen.
  310. </para>
  311. </listitem>
  312. <listitem>
  313. <para>
  314. <methodname>getLayers()</methodname>: Eine Liste von allen registrierten
  315. Layerpfaden (eigene Builds) erhalten.
  316. </para>
  317. </listitem>
  318. <listitem>
  319. <para>
  320. <methodname>removeLayer($path)</methodname>: Den Layer der
  321. <varname>$path</varname> entspricht von der Liste der registrierten Layer
  322. (eigene Builds) entfernen.
  323. </para>
  324. </listitem>
  325. <listitem>
  326. <para>
  327. <methodname>setCdnBase($url)</methodname>: Den Basis <acronym>URL</acronym> für
  328. ein CDN setzen; typischerweise ist das
  329. <constant>Zend_Dojo::CDN_BASE_AOL</constant> oder
  330. <constant>Zend_Dojo::CDN_BASE_GOOGLE</constant>, aber es wird der
  331. <acronym>URL</acronym> String vor der Versionsnummer benötigt.
  332. </para>
  333. </listitem>
  334. <listitem>
  335. <para>
  336. <methodname>getCdnBase()</methodname>: Den Basis CDN URL empfangen.
  337. </para>
  338. </listitem>
  339. <listitem>
  340. <para>
  341. <methodname>setCdnVersion($version = null)</methodname>: Setzen selche Version
  342. von Dojo vom CDN verwendet wird.
  343. </para>
  344. </listitem>
  345. <listitem>
  346. <para>
  347. <methodname>getCdnVersion()</methodname>: Die Dojo Version vom CDN erhalten die
  348. verwendet wird.
  349. </para>
  350. </listitem>
  351. <listitem>
  352. <para>
  353. <methodname>setCdnDojoPath($path)</methodname>: Setzt den relativen Pfad zur
  354. dojo.js oder dojo.xd.js Datei am CDN; typischerweise ist das entweder
  355. <constant>Zend_Dojo::CDN_DOJO_PATH_AOL</constant> oder
  356. <constant>Zend_Dojo::CDN_DOJO_PATH_GOOGLE</constant>, aber es wird der
  357. Pfadstring nach der Versionsnummer benötigt.
  358. </para>
  359. </listitem>
  360. <listitem>
  361. <para>
  362. <methodname>getCdnDojoPath()</methodname>: Das letzte Pfadsegment der CDN URL
  363. erhalten das auf die dojo.js Datei zeigt.
  364. </para>
  365. </listitem>
  366. <listitem>
  367. <para>
  368. <methodname>useCdn()</methodname>: Dem Container mitteilen das CDN verwendet
  369. werden soll; aktiviert die Integration implizit.
  370. </para>
  371. </listitem>
  372. <listitem>
  373. <para>
  374. <methodname>setLocalPath($path)</methodname>: Dem Container den Pfad zu einer
  375. lokalen Dojo Installation mitteilen (sollte ein Pfad relativ zum Server sein,
  376. und die dojo.js Datei selbst enthalten); aktiviert die Integration implizit.
  377. </para>
  378. </listitem>
  379. <listitem>
  380. <para>
  381. <methodname>getLocalPath()</methodname>: Erkennen welches lokale Pfad zu Dojo
  382. verwendet
  383. wird.
  384. </para>
  385. </listitem>
  386. <listitem>
  387. <para>
  388. <methodname>useLocalPath()</methodname>: Verwendet die Integration einen
  389. lokalen Dojopfad?
  390. </para>
  391. </listitem>
  392. <listitem>
  393. <para>
  394. <methodname>setDjConfig(array $config)</methodname>: Setzt Dojo/Dijit
  395. Konfigurationswerte (erwartet ein assoziatives Array).
  396. </para>
  397. </listitem>
  398. <listitem>
  399. <para>
  400. <methodname>setDjConfigOption($option, $value)</methodname>: Setzt einen
  401. einzelnen Dojo/Dijit Konfigurationswert.
  402. </para>
  403. </listitem>
  404. <listitem>
  405. <para>
  406. <methodname>getDjConfig()</methodname>: Retourniert alle Dojo/Dijit
  407. Konfigurationswerte.
  408. </para>
  409. </listitem>
  410. <listitem>
  411. <para>
  412. <methodname>getDjConfigOption($option, $default = null)</methodname>:
  413. Retourniert einen einzelnen Dojo/Dijit Konfigurationswert.
  414. </para>
  415. </listitem>
  416. <listitem>
  417. <para>
  418. <methodname>addStylesheetModule($module)</methodname>: Fügt ein Stylesheet
  419. hinzu basierend auf einem Modulthema.
  420. </para>
  421. </listitem>
  422. <listitem>
  423. <para>
  424. <methodname>getStylesheetModules()</methodname>: Retourniert die als Modulthema
  425. registrierten Modulthemen.
  426. </para>
  427. </listitem>
  428. <listitem>
  429. <para>
  430. <methodname>addStylesheet($path)</methodname>: Fügt einen lokalen Stylesheet
  431. zur Verwendung mit Dojo hinzu.
  432. </para>
  433. </listitem>
  434. <listitem>
  435. <para>
  436. <methodname>getStylesheets()</methodname>: Retourniert die lokalen Dojo
  437. Stylesheets.
  438. </para>
  439. </listitem>
  440. <listitem>
  441. <para>
  442. <methodname>addOnLoad($spec, $function = null)</methodname>: Fügt ein Lambda
  443. für dojo.onLoad hinzu das dieses aufruft. Wenn ein Argument übergeben wird,
  444. wird dieses entweder als Funktionsname oder als Javascriptabschluss angenommen.
  445. Wenn zwei Argumente übergeben werden, wird das erste als Name der Variablen der
  446. Objektinstanz angenommen und der zweite entweder als Methodenname in diesem
  447. Objekt oder ein Abschluß um dieses Objekt zu verwenden.
  448. </para>
  449. </listitem>
  450. <listitem>
  451. <para>
  452. <methodname>prependOnLoad($spec, $function = null)</methodname>: genau wie
  453. <methodname>addOnLoad()</methodname>, außer das vor den Anfang des onLoad
  454. Stacks angefügt wird.
  455. </para>
  456. </listitem>
  457. <listitem>
  458. <para>
  459. <methodname>getOnLoadActions()</methodname>: Gibt alle im Container
  460. registrierten dojo.onLoad Aktionen zurück. Das ist ein Array von Arrays.
  461. </para>
  462. </listitem>
  463. <listitem>
  464. <para>
  465. <methodname>onLoadCaptureStart($obj = null)</methodname>: Empfange Daten die
  466. als Lambda für dojo.onLoad() verwendet werden sollen. Wenn $obj angegeben wird,
  467. wird der bekommene JS Code als Abschluß angenommen der mit diesem Javascript
  468. Objekt verwendet werden soll.
  469. </para>
  470. </listitem>
  471. <listitem>
  472. <para>
  473. <methodname>onLoadCaptureEnd($obj = null)</methodname>: Beendet das Empfangen
  474. von Daten für die Verwendung mit dojo.onLoad().
  475. </para>
  476. </listitem>
  477. <listitem>
  478. <para>
  479. <methodname>javascriptCaptureStart()</methodname>: Empfange Javascript das im
  480. Dojo JS inkludiert werden soll (onLoad, require, und andere Anweisungen).
  481. </para>
  482. </listitem>
  483. <listitem>
  484. <para>
  485. <methodname>javascriptCaptureEnd()</methodname>: Beende das Empfangen von
  486. Javascript.
  487. </para>
  488. </listitem>
  489. <listitem>
  490. <para>
  491. <methodname>__toString()</methodname>: Castet den Container zu einem String;
  492. stellt alle HTML Stile und Skriptelemente dar.
  493. </para>
  494. </listitem>
  495. </itemizedlist>
  496. </sect3>
  497. </sect2>