Nachdem das Plugin immer weiter voranschreitet und an Möglichkeiten hinzugewinnt, ist nun mit den im ACP vornehmbaren Einstellungen etwas an der Reihe, das den Inhalt dynamischer macht, als er aktuell ist. Die Sinnlosigkeit von allgemeinen Einstellungen auf einer statischen Seite ist natürlich nicht von der Hand zu weisen, hier geht es jedoch um das Erlernen dieser Funktion.
Jede Einstellung, die über die
Die
Alles anzeigen
Hierbei wird eine neue Kategorie
Auch hier gilt: Wer die gesamte Vielfalt der möglichen Einstellungen kennenlernen will, schaut sich die
Die
Nun wäre die Einstellung zwar implementiert und würde auch funktionieren, allerdings wird sie im Code nirgends genutzt. Daher sollte noch das Template bearbeitet werden. Ich füge hier folgende Zeilen hinzu:
Das zeigt entweder die Sprachvariable
Was nun außerdem noch fehlt - wo wir gerade bei Sprachvariablen sind - sind die Sprachvariablen für die Einstellung selbst und deren Kategorie im ACP. Diese sind in der eigenen Sprachkategorie
Das Ergebnis sollte dann folgendermaßen aussehen:
Bei Fragen u.ä. stehe ich natürlich jederzeit gerne zur Verfügung.
Jede Einstellung, die über die
option.xml
hinzugefügt wird, kann als Konstante sowohl in PHP als auch im Template verarbeitet werden. Der Unterschied besteht lediglich darin, dass sie im Template innerhalb von { }
steht.Die
option.xml
, welche man benötigt, sieht folgendermaßen aus: XML-Quellcode
- <?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/maelstrom/option.xsd">
- <import>
- <categories>
- <category name="example"></category>
- <category name="example.page">
- <parent>example</parent>
- </category>
- </categories>
- <options>
- <option name="example_page_option">
- <categoryname>example.page</categoryname>
- <optiontype>boolean</optiontype>
- <defaultvalue>1</defaultvalue>
- </option>
- </options>
- </import>
- </data>
example
unter System -> Optionen erstellt und darin die Unterkategorie page
. Selbige beinhaltet die Option example_page_option
mit einer boolschen Variable (true/false
) und dem Standardwert 1 (true
).Auch hier gilt: Wer die gesamte Vielfalt der möglichen Einstellungen kennenlernen will, schaut sich die
.xsd
an.Die
option.xml
muss natürlich nun noch in der package.xml
referenziert werden. Das macht die folgende Zeile: Wer Update-Anweisungen hinzufügen möchte, muss das natürlich dann auch wieder bei jedem Anweisungsblock wiederholen (in diesem Beispiel geschehen).Nun wäre die Einstellung zwar implementiert und würde auch funktionieren, allerdings wird sie im Code nirgends genutzt. Daher sollte noch das Template bearbeitet werden. Ich füge hier folgende Zeilen hinzu:
wcf.page.example.optionTrue
an, sofern die Einstellung aktiv ist, oder aber die Sprachvariable wcf.page.example.optionFalse
. Diese müssen natürlich auch noch hinzugefügt werden.Was nun außerdem noch fehlt - wo wir gerade bei Sprachvariablen sind - sind die Sprachvariablen für die Einstellung selbst und deren Kategorie im ACP. Diese sind in der eigenen Sprachkategorie
wcf.acp.option
und würden hier folgendermaßen aussehen: Das Ergebnis sollte dann folgendermaßen aussehen:
Bei Fragen u.ä. stehe ich natürlich jederzeit gerne zur Verfügung.
3.471 mal gelesen
Fighter456 -
Nein, da das options.xml dafür gedacht ist, dass alle Optionen gesammelt unter einem Punkt vorhanden sind und nicht willkürlich im ACP verstreut werden können.
Natürlich steht es dir frei, eine oder mehrere Einstellungsseiten im ACP anzulegen, allerdings erfordert dies schon sehr tiefreichende Kenntnisse des Community Frameworks.