WebsiteBaker modules bestaan uit tekst-bestanden, zoals PHP, HTML, Javascript en CSS. Dit hoofdstuk geeft een korte introductie van de verschillende module bestanden en hun doelstelling, afhankelijk van het type module. Dit is de basiskennis die men minimaal nodig heeft voor het aanmaken van eigen modules.
Er zijn twee bestanden die vereist zijn (of aanbevolen) voor alle modules:
<?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'; ?>
De openende PHP tag (<?php) wordt gevolgd door een commentaar blok (/** ... **/), welek voorziet in extra informatie over de gekozen module licentie, een disclaimer, en de historie van de module-ontwikkeling.
De module variabelen voorzien in de benodigde informatie voor WebsiteBaker. De variabele $module_function bepaald of de module een pagina type (page), een beheer tool (tool) of een code snippet (snippet) is. Het bestand info.php eindigd met een afsluitende PHP Tag (?>).
Het bestand index.php voorkomt het tonen van een lijst met folders en bestanden in de module directory, onafhankelijk van de serverinstellingen. Dit is een simpele methode om de veiligheid te verbeteren, omdat hierdoor geen extra informatie getoond wordt over de module architectuur.
<?php
header('Location: ../index.php');
?>
De volgende bestanden zijn optioneel en kunnen gebruikt worden om code uit te voeren tijdens het installatie- en verwijder-proces. Deze bestanden worden automatisch aangesproken en uitgevoerd via de WebsiteBaker backend: Extra's -> Modules -> Installeer Module / Verwijder Module.
De inhoud van deze bestanden is afhankelijk van het doel van de module. Een voorbeeld van een werkend exemplaar kan gevonden worden als Hello World module in de Add-Ons Repository.
Een pagina type module vereist het opgeven van de variabele in het bestand info.php als volgt:
$module_function = page;
Pagina type modules kunnen de volgende bestanden bevatten:
De inhoud van deze bestanden in afhankelijk van het doel van de module. Een voorbeeld van een werkend exemplaar kan gevonden worden als Hello World module in de Add-Ons Repository.
Een beheer tool vereist het opgeven van de variabele in het bestand info.php als volgt:
$module_function = tool;
Beheer tools bevatten het volgende bestand:
Een code snippet vereist het opgeven van de variabele in het bestand info.php als volgt:
$module_function = snippet;
Alle functies in het volgende bestand kunnen aangesproken worden vanuit het bestand index.php van het template of via een pagina/sectie van het type Code: