Modultypen
Der Modultyp wird in info.php über $module_function festgelegt. Er bestimmt wo das Modul erscheint und welche Dateien WBCE erwartet. Seit WBCE 1.4 sind Kombinationen (Hybrid-Module) möglich.
Übersicht der Typen
| Typ | Erscheint | Pflichtdatei |
|---|---|---|
page |
Als Abschnitt auf Seiten | view.php |
tool |
Unter Admin-Tools | tool.php |
snippet |
Per Droplet eingebunden | Droplet-Datei |
page — Seitenmodul
Erscheint im Neuanlage-Dialog für Abschnitte. Gibt Inhalte im Frontend aus.
$module_function = 'page';
Einsatzbeispiele: Texteditor, Galerie, News, Formular, MD Viewer
Pflichtdateien: view.php, modify.php, save.php, add.php
tool — Admin-Tool
Erscheint unter Admin-Tools in der Hauptnavigation. Bietet Verwaltungsfunktionen im Backend.
$module_function = 'tool';
Einsatzbeispiele: Droplets Verwaltung, Systeminfo, AFE (Advanced File Editor)
Pflichtdatei: tool.php
snippet — Snippet
Wird nicht direkt auf Seiten gesetzt sondern per Droplet aufgerufen. Ideal für wiederverwendbare Funktionen.
$module_function = 'snippet';
Einsatzbeispiele: NWI Anywhere, Suchfunktionen, benutzerdefinierte Ausgaben
Aufruf im Content:
Kombinationen — Hybrid-Module
Seit WBCE 1.4 können Typen kombiniert werden. Die Werte werden kommagetrennt angegeben — ohne Leerzeichen!
page,tool
Erscheint sowohl als Seitenabschnitt als auch unter Admin-Tools.
$module_function = 'page,tool';
Pflichtdateien: view.php + tool.php
Einsatzbeispiel: MD Viewer — zeigt Markdown auf Seiten an UND bietet zentrale Verwaltung im Admin-Tool.
page,snippet
Kann als Seitenabschnitt eingebunden UND per Droplet aufgerufen werden.
$module_function = 'page,snippet';
Pflichtdateien: view.php + Droplet-Datei
Einsatzbeispiel: Modul das flexibel sowohl direkt auf Seiten als auch per Droplet in Templates genutzt werden soll.
tool,snippet
Bietet Admin-Tool-Funktionen UND kann per Droplet aufgerufen werden.
$module_function = 'tool,snippet';
Pflichtdateien: tool.php + Droplet-Datei
page,tool,snippet
Das vollständige Hybrid — alle drei Typen kombiniert.
$module_function = 'page,tool,snippet';
Pflichtdateien: view.php + tool.php + Droplet-Datei
Einsatzbeispiel: Komplexe Module die maximale Flexibilität bei der Einbindung brauchen.
Wann welche Kombination?
Nur auf Seiten anzeigen:
→ page
Nur Verwaltung im Backend:
→ tool
Nur per Droplet aufrufbar:
→ snippet
Seite + zentrale Verwaltung:
→ page,tool ← häufigste Kombination!
Seite + Droplet-Flexibilität:
→ page,snippet
Maximale Flexibilität:
→ page,tool,snippet
Wichtig: Korrekter Frontend-Guard
In include.php eines Snippets immer WB_FRONTEND als Guard verwenden:
// ✅ RICHTIG
if (!defined('WB_FRONTEND') || WB_FRONTEND !== true) { return; }
// ❌ FALSCH — ADMIN_URL ist auch im Frontend definiert!
if (defined('ADMIN_URL')) { return; }
WB_FRONTEND wird nur in /framework/frontend.functions.php gesetzt und ist der einzig zuverlässige Frontend-Indikator.
Nächster Schritt: Hello World Beispiel — ein komplettes Modul von Grund auf