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