Insert-Klasse
Die Insert-Klasse I ermöglicht es, CSS- und JavaScript-Dateien sowie Meta-Tags gezielt an der richtigen Position im HTML-Dokument einzubinden — unabhängig davon von wo im Code der Aufruf erfolgt.
Definiert in framework/I.php.
Warum Insert-Klasse?
Ohne die Insert-Klasse würden CSS/JS-Dateien genau dort im HTML landen wo register_frontend_modfiles() aufgerufen wird — oft mitten im Body. Die Insert-Klasse sammelt alle Einbindungen und platziert sie an der richtigen Position im fertigen HTML-Output.
Positionsangaben
Der zweite Parameter gibt an wo die Datei eingefügt wird:
| Position | Beschreibung |
|---|---|
| HEAD TOP- | Ganz oben im Head |
| HEAD BTM- | Unten im Head (Standard für CSS) |
| BODY | Vor dem schließenden Body-Tag (Standard für JS) |
| BODY BTM- | Ganz unten vor Body-Ende |
CSS einbinden
// Einzelne Datei
I::insertCssFile(WB_URL . '/modules/meinmodul/css/style.css', 'HEAD BTM-');
// Mehrere Dateien
I::insertCssFile(array(
WB_URL . '/modules/meinmodul/css/style.css',
WB_URL . '/modules/meinmodul/css/theme.css',
), 'HEAD BTM-');
JavaScript einbinden
I::insertJsFile(WB_URL . '/modules/meinmodul/js/script.js', 'BODY');
// Mehrere Dateien
I::insertJsFile(array(
WB_URL . '/modules/meinmodul/js/lib.js',
WB_URL . '/modules/meinmodul/js/app.js',
), 'BODY BTM-');
Meta-Tags einbinden
I::insertMetaTag(array(
'setname' => 'viewport',
'name' => 'viewport',
'content' => 'width=device-width, initial-scale=1.0'
));
Seitentitel setzen
I::insertTitle(PAGE_TITLE);
Praxisbeispiel: CSS in einem Droplet
Wenn ein Modul als Snippet/Droplet läuft kann die CSS-Datei direkt im Droplet-Code eingebunden werden — ohne separate include.php:
I::insertCssFile(WB_URL . '/modules/pagenav/css/pagenav.css', 'HEAD BTM-');