Nachdem bereits das erste Plugin erstellt ist, geht es nun daran, selbigem einen eigenen Menüpunkt anzulegen, welcher dann auch als aktiv gekennzeichnet wird, sofern man sich auf der Seite befindet. Hierbei wird dann auch ein Update ermöglicht.
Dank der Vereinfachung in Community Framework braucht es nicht viel, um einen Menüpunkt zu erstellen. Eine
Am besten wird mit dem Erstellen der
Hierbei wird der Menüpunkt namens
Als nächstes geht es zur Bearbeitung der Sprachvariablen, denn schließlich soll der Menüpunkt auch einen lesbaren Text anzeigen. Es muss demnach die Sprachvariable
Die eigentliche Funktion, dass der Menüpunkt, der über die
Die Datei sollte dann folgendermaßen aussehen:
Alles anzeigen
Zu guter Letzt muss eigentlich nur die
Möchte man sein Paket auch mit Update-Anweisungen versehen, so muss man diese noch zusätzlich hinzufügen. Außerdem muss auf jeden Fall die Versionsnummer erhöht werden (hier: von
Es müssen alle Dateien angegeben werden, die verändert oder hinzugefügt wurden. Die vollständige
Alles anzeigen
Nun muss man nur noch die Dateien neu nach den bereits genannten Vorschriften packen und kann das Paket dann gleich als Update installieren.
Das Ergebnis sollte dann folgendermaßen aussehen:
Bei Fragen u.ä. stehe ich natürlich jederzeit gerne zur Verfügung.
Dank der Vereinfachung in Community Framework braucht es nicht viel, um einen Menüpunkt zu erstellen. Eine
pageMenu.xml
, eine Änderung in der PHP-Klassendatei sowie das Hinzufügen einer weiteren Sprachvariable. Um das Ganze dann noch als updatebares Paket zu erstellen, muss man auch die package.xml
noch etwas modifizieren.Am besten wird mit dem Erstellen der
pageMenu.xml
begonnen. Diese 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/pagemenu.xsd">
- <import>
- <pagemenuitem name="wcf.page.example">
- <controller><![CDATA[wcf\page\ExamplePage]]></controller>
- <position>header</position>
- </pagemenuitem>
- </import>
- </data>
wcf.page.example
hinzugefügt. Der Controller ist hier die Seite, auf die verlinkt werden soll. Als Position kann entweder header
oder footer
angegeben werden. Weitere Möglichkeiten wie Untermenüpunkte oder eine eigene Sortierung finden sich in der .xsd
-Datei, wie bei .xml
-Dateien üblich.Als nächstes geht es zur Bearbeitung der Sprachvariablen, denn schließlich soll der Menüpunkt auch einen lesbaren Text anzeigen. Es muss demnach die Sprachvariable
wcf.page.example
hinzugefügt werden. Das ginge dann z.B. mit dieser Zeile innerhalb der .xml
-Sprachdateien: Die eigentliche Funktion, dass der Menüpunkt, der über die
pageMenu.xml
hinzugefügt wurde, auch beim Seitenaufruf als aktiv gekennzeichnet wurde, muss, wie bereits gesagt, in die Klasse eingefügt werden. Das wäre bei uns noch die Datei unter lib/page/ExamplePage.class.php
Innerhalb der Klasse muss dann folgender Code hinterlegt werden: PHP-Quellcode
- <?php
- namespace wcf\page;
- /**
- * Shows the example page.
- *
- * @author KittBlog Stile
- * @copyright 2013 kittblog.com
- * @license LGPL
- * @package com.kittblog.wcf.examplepage
- */
- class ExamplePage extends AbstractPage {
- /**
- * @see wcf\page\AbstractPage::$activeMenuItem
- */
- public $activeMenuItem = 'wcf.page.example';
- }
Zu guter Letzt muss eigentlich nur die
pageMenu.xml
in der package.xml
referenziert werden. Das ginge über diese Zeile bei den Installations-Anweisungen: Die pageMenu.xml
selbst wird demnach auch im Wurzelverzeichnis, also auf derselben Ebene wie die package.xml
gespeichert.Möchte man sein Paket auch mit Update-Anweisungen versehen, so muss man diese noch zusätzlich hinzufügen. Außerdem muss auf jeden Fall die Versionsnummer erhöht werden (hier: von
1.0.0 Alpha 1
zu 1.0.0 Alpha 2
). Die Update-Anweisungen sehen dann folgendermaßen aus: package.xml
sollte nun folgendermaßen aussehen: XML-Quellcode
- <?xml version="1.0" encoding="UTF-8"?>
- <package name="com.kittblog.wcf.examplepage" 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/package.xsd">
- <packageinformation>
- <packagename>Example page</packagename>
- <packagename language="de">Beispielsseite</packagename>
- <packagedescription>The first own example page for Community Framework 2.</packagedescription>
- <packagedescription language="de">Die erste eigene Beispielsseite für Community Framework 2.</packagedescription>
- <version>1.0.0 Alpha 2</version>
- <date>2013-07-21</date>
- </packageinformation>
- <authorinformation>
- <author>KittBlog Stile</author>
- <authorurl>http://kittblog.com</authorurl>
- </authorinformation>
- <requiredpackages>
- <requiredpackage minversion="2.0.0 Alpha 1">com.woltlab.wcf</requiredpackage>
- </requiredpackages>
- <instructions type="install">
- <instruction type="file">files.tar</instruction>
- <instruction type="template">templates.tar</instruction>
- <instruction type="language">language/*.xml</instruction>
- <instruction type="pageMenu">pageMenu.xml</instruction>
- </instructions>
- <instructions type="update" fromversion="1.0.0 Alpha 1">
- <instruction type="file">files.tar</instruction>
- <instruction type="language">language/*.xml</instruction>
- <instruction type="pageMenu">pageMenu.xml</instruction>
- </instructions>
- </package>
Das Ergebnis sollte dann folgendermaßen aussehen:
Bei Fragen u.ä. stehe ich natürlich jederzeit gerne zur Verfügung.
Teil 1: Das erste eigene Plugin
4.875 mal gelesen
Fabii -
Danke jetzt gehts