Nachdem die Beispielseite, die als Plugin hinzugefügt wurde, nun auch schon einen eigenen Menüpunkt besitzt, kommt nun eine Funktion, die vermutlich vielfach genutzt werden wird: Template-Listener. Damit ist es einfach möglich, zusätzlichen Template-Code in die Templates einzufügen.
Hierfür muss das Template der Beispielseite etwas angepasst werden, da jeder Listener - und so auch ein Template-Listener - ein Event benötigt, auf das er reagieren kann. Also einfach an gewünschter Stelle im Template
Als nächstes kommt dann der eigentliche Template-Listener, der in einer
Alles anzeigen
Hierbei wird der Template-Listener namens
Der Template-Code, der hinzugefügt wird, ist dann
Nun muss nur noch die
Alles anzeigen
Da auch das Template geändert wurde, muss das auch in die Update-Anweisung für Version
Das Ergebnis sollte dann folgendermaßen aussehen:
Bei Fragen u.ä. stehe ich natürlich jederzeit gerne zur Verfügung.
Hierfür muss das Template der Beispielseite etwas angepasst werden, da jeder Listener - und so auch ein Template-Listener - ein Event benötigt, auf das er reagieren kann. Also einfach an gewünschter Stelle im Template
example.tpl
folgendes Event hinzufügen: {event name='example'}
Als nächstes kommt dann der eigentliche Template-Listener, der in einer
templateListener.xml
gespeichert wird: XML-Quellcode
- <data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/templatelistener.xsd">
- <import>
- <!-- user -->
- <templatelistener name="exampleListener">
- <environment>user</environment>
- <templatename>example</templatename>
- <eventname>example</eventname>
- <templatecode><![CDATA[<p class="event">{lang}wcf.page.example.templateListener{/lang}</p>]]></templatecode>
- </templatelistener>
- <!-- /user -->
- </import>
- </data>
exampleListener
hinzugefügt. Das geschieht in der Benutzer-Umgebung (und nicht im ACP) im Template example
und zwar beim Event example
.Der Template-Code, der hinzugefügt wird, ist dann
<p class="event">{lang}wcf.page.example.templateListener{/lang}</p>
. Dazu habe ich mir die Sprachvariable wcf.page.example.templateListener
neu angelegt.Nun muss nur noch die
package.xml
mit folgender Anweisung aktualisiert werden: Sofern man wieder Update-Anweisungen hinzufügen möchte, darf man nicht vergessen, dass diese in jedem Anweisungsblock stehen müssen. Ich habe bei mir z.B. nun folgende zwei Update-Anweisungsblöcke: XML-Quellcode
- <instructions type="update" fromversion="1.0.0 Alpha 1">
- <instruction type="file">files.tar</instruction>
- <instruction type="template">templates.tar</instruction>
- <instruction type="language">language/*.xml</instruction>
- <instruction type="pageMenu">pageMenu.xml</instruction>
- <instruction type="templateListener">templateListener.xml</instruction>
- </instructions>
- <instructions type="update" fromversion="1.0.0 Alpha 2">
- <instruction type="template">templates.tar</instruction>
- <instruction type="language">language/*.xml</instruction>
- <instruction type="templateListener">templateListener.xml</instruction>
- </instructions>
1.0.0 Alpha 1
.Das Ergebnis sollte dann folgendermaßen aussehen:
Bei Fragen u.ä. stehe ich natürlich jederzeit gerne zur Verfügung.
Teil 2: Menüpunkt für die eigene Seite
4.692 mal gelesen
Black Rider -
Das Tutorial veranschaulicht natürlich nur das Prinzip. Natürlich war es hier nicht notwendig, sollte eben nur zeigen, wie es geht.