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-');