Table Of Contents
Durch die templateListener.xml ist es möglich Templatelistener innerhalb des WSC zu registrieren und entsprechend auszuführen. Ein Templatelistener hat zur Aufgabe HTML oder JavaScript an gewissen Stellen innerhalb eines bestehenden Templates auszuführen ohne die Templates direkt bearbeiten zu müssen. Die templateListener.xml wird wie alle PIP Dateien in xml geschrieben und sollte "templateListener.xml" heißen.
github.com/WoltLab/WCF/blob/master/XSD/templateListener.xsd
Innerhalb der package.xml kann man der Installations- bzw. der Updateroutine durch folgenden instruction-Tag sagen, dass nun ein oder mehrere Templatelistener installiert bzw. geupdatet werden soll(en).
Display All
Ihr habt Fragen oder Anregungen? Lob oder Kritik? Lasst es mich doch durch einen Kommentar von euch wissen!
Die XSD auf GitHub
github.com/WoltLab/WCF/blob/master/XSD/templateListener.xsd
Package.xml
Innerhalb der package.xml kann man der Installations- bzw. der Updateroutine durch folgenden instruction-Tag sagen, dass nun ein oder mehrere Templatelistener installiert bzw. geupdatet werden soll(en).
Mögliche Parameter
Tag | Parameter | Definition |
<data> | - | Einleitendes Elternelement |
<import> | - | Element zum Import neuer Templatelistener |
<delete> | - | Element zum Löschen von bestehenden Templatelistener |
<templatelistener> | name="nameDesTemplateListener" | Begrenzungselement um verschiedene Templatelistener zu verarbeiten |
<templatename> | - | Name des Templates, welches manipuliert werden soll |
<eventname> | - | Eventname in dem Zieltemplate, in dem wir uns einklinken wollen |
<templatecode> | - | HTML und/oder JavaScript welches ausgeführt werden soll |
<niceValue> | - | Gibt die Reihenfolge der Abarbeitung von Templatelistener an (minimal -128, maximal 127). Gibt es zwei oder mehr Templatelistener mit demselben niceValue werden diese der Reihenfolge der Installierung der Plugins ausgeführt. |
<inherit> | -WEG | |
<environment> | - | Gibt an, ob der Templatelistener innerhalb des Backend (ACP) oder im Frontend (Endanwendung) ausgeführt werden soll (user/admin). |
Beispiel templateListener.xml
XML Source Code: templateListener.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <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/2019/templateListener.xsd"
- <import>
- <!-- user -->
- <templatelistener name="userInformationStatistics">
- <environment>user</environment>
- <templatename>userInformationStatistics</templatename>
- <eventname>statistics</eventname>
- <templatecode><![CDATA[{include file='__userInformationStatistics' application='foo'}]]></templatecode>
- </templatelistener>
- <!-- /user -->
- </import>
- </data>
Gut zu wissen
- Man kann sich in jedes Template einklinken, in dem ein Event-Prefilter definiert ist.
- Im Templatecode-Tag kann direkt HTML oder JavaScript hineingeschrieben werden. Bei mehreren Zeichen allerdings empfiehlt es sich, die include-Funktion zu verwenden. Das eingebundene Template muss dann über das Template-PIP installiert werden.
- Sollten Sie sich in ein Plugin eines Entwicklers einklinken wollen, scheuen sie nicht davor, ihm ein passendes Event vorzuschlagen, wo sie sich einklinken möchten.
Ihr habt Fragen oder Anregungen? Lob oder Kritik? Lasst es mich doch durch einen Kommentar von euch wissen!
30,863 times viewed