Ursache: vendor/autoload.php fehlt. Das passiert bei einem Git-Clone, weil vendor/ nicht im Repository liegt.
Lösung: Führe im Plugin-Ordner composer install --no-dev aus oder verwende das Release-ZIP (siehe Installation).
Symptome:
<!-- Custom CSS Loader Plugin -->.Prüfung:
<osTicket-Hauptverzeichnis>/assets/custom/css/ und endet sie auf .css (kleingeschrieben)?staff oder client? Ohne eines von beiden wird die Datei ignoriert._ und -. Blockierte Namen stehen im PHP-Error-Log als Invalid filename blocked.chmod 644)?</head>? Ohne dieses Tag wird nichts eingefügt.!important oder einen genaueren Selektor.?v= mit der Änderungszeit enthält. Lade die Seite hart neu.Der erste Treffer gewinnt, und staff wird vor client geprüft. Ein Name wie client-staff.css zählt deshalb als Staff-Datei. Nenne die Datei so um, dass nur ein Begriff vorkommt.
Der Webserver-Benutzer darf im osTicket-Hauptverzeichnis nicht schreiben. Lege den Ordner manuell an:
mkdir -p /pfad/zu/osticket/assets/custom/css
chmod 755 /pfad/zu/osticket/assets/custom/css
Das Plugin kopiert nur beim Aktivieren und nur, wenn der Ordner noch keine .css-Datei enthält. Kopiere die gewünschten Dateien aus include/plugins/custom-css-loader/assets/demo/ von Hand.
Ändert das Plugin osTicket-Dateien?
Nein. Die Link-Tags werden über Output-Buffering in die Seite eingefügt.
Gehen meine CSS-Dateien beim Deaktivieren verloren?
Nein. Deaktivieren und Update lassen den Ordner assets/custom/css/ unangetastet.
Beeinflusst das Plugin die API?
Nein, für Aufrufe unter /api/ wird kein CSS eingefügt.
Welche Versionen werden benötigt?
osTicket 1.17 oder neuer und PHP 8.1 oder neuer. Die CI führt die Tests mit PHP 8.1 bis 8.4 aus.