Jedes WebsiteBaker Modul besteht aus einer Ansammlung von Textdateien (PHP, HTML, Javascript, CSS). Dieses Kapitel stellt die zur Verfügung stehenden Dateien und deren Verwendungszweck abhängig von der Modulart zusammen. Das Wissen über den Aufbau von Modulen ist eine Grundvoraussetzung, um eigene Module und Erweiterungen entwickeln zu können.
Es gibt zwei Dateien, die für alle Module zwingend vorgeschrieben, oder empfohlen sind:
<?php /** Copyright (C) 2007, Christian Sommer This module is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License - version 2 or later, as published by the Free Software Foundation: http://www.gnu.org/licenses/gpl.html. This module is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ------------------------------------------------------------------------------- Modul: XXX für WebsiteBaker v2.6.x (http://www.websitebaker2.org) Modulbeschreibung ------------------------------------------------------------------------------- v0.10 (Christian Sommer; 11.06.2007) + initial release of the module ------------------------------------------------------------------------------- **/ $module_directory = 'gewünschtes Modulverzeichnis angeben'; $module_name = 'Modulname angeben (wird als Seitenart angezeigt)'; $module_function = 'page, tool oder snippet'; $module_version = '0.10'; $module_platform = '2.6.x'; $module_author = 'Christian Sommer'; $module_license = 'GNU General Public License'; $module_description = 'Kurzbeschreibung des Moduls'; ?>
Nach dem öffnenten PHP Tags (<?php) folgt ein mehrzeiliger Kommentarblock (/** ... **/) mit optionalen Angaben zur gewählten Lizenz, einer Haftungsausschlussklausel und der Entwicklungshistorie.
Über die Variablen werden Informationen über das Modul bereitgestellt (siehe Beschreibung). Die Variable $module_function legt fest, ob das Modul als Seitenmodul (page), Verwaltungsprogramm (tool) oder Zusatzfunktion (snippet) ausgeführt werden soll. Die info.php endet mit einem schliessendem PHP Tag (?>).
Diese Datei verhindert, dass bei mangelnder Konfiguration des Servers die Dateien und Verzeichnisse innerhalb des Modulverzeichnisses im Browser dargestellt werden. Diese Datei verhindert das aufspüren möglicher Angriffsstellen.
<?php header('Location: ../index.php'); ?>
Nachfolgende Dateien können vor dem Installieren und Deinstallieren von Modulen ausgeführt werden. Die Dateien werden automatisch über das WB Backend: Erweiterungeng -> Module -> Modul installieren / Modul deinstallieren aufgerufen.
Der Inhalt ist je nach Verwendungszweck unterschiedlich. Als Beispiel kann das Hello World Module herangezogen werden.
Um ein Seitenmodule zu erstellen, muss die nachfolgende Variable in info.php wie folgt gesetzt werden:
$module_function = page;
Für Seitenmodule stehen die nachfolgenden Dateien zur Verfügung:
Der Inhalt ist je nach Verwendungszweck unterschiedlich. Als Beispiel kann das Hello World Module herangezogen werden.
Um ein Seitenmodule zu erstellen, muss die nachfolgende Variable in info.php wie folgt gesetzt werden:
$module_function = tool;
Für Verwaltungsprogramme steht nachfolgende Dateien zur Verfügung:
Um Zusatzfunktionen zu erstellen, muss die nachfolgende Variable in info.php wie folgt gesetzt werden:
$module_function = snippet;
Funktionen die in nachfolgender Datei enthalten sind können in der index.php Datei des Templates oder von einer Seite/Abschnitt vom Typ Code aufgerufen werden.