This documentation always describes the latest published version.
Live Demo: Try all plugins for OXID eShop, Shopware and osTicket by Markus Michalski live, no installation and no risk: demo.markus-michalski.net
The plugin automatically loads your own CSS files from assets/custom/css/ into osTicket's Staff Panel and Client Portal. The file name decides where a file appears: names containing staff go to the Staff Panel, names containing client to the Client Portal.
Without this plugin: Custom styles mean changes to templates or core files that are lost on updates.
With this plugin: You put CSS files into a folder and the plugin includes them before the first
</head>of the page.
| Page | Contents |
|---|---|
| Installation | ZIP or Git, Composer autoloader, activation, CSS folder, update |
| Configuration | The two fields |
| Usage | File name rules, order, demo files, examples |
| Technical Details | Flow, classes, context detection, security checks |
| Troubleshooting | CSS not loaded, folder, demo files, frequently asked questions |
| Feature | Description |
|---|---|
| Automatic loading | All matching .css files in the folder are included, no per-file configuration |
| Context by file name | staff in the name for the Staff Panel, client for the Client Portal (case-insensitive) |
| Cache busting | Every URL gets ?v= with the file's modification time |
| Demo files | Copied into an empty directory on first activation |
| Security checks | File name allowlist, protection against symlinks outside the folder, escaped URLs |
| No core changes | Included through output buffering, no osTicket files are modified |
| Requirement | Version | Notes |
|---|---|---|
| osTicket | 1.17 or newer | According to plugin.php |
| PHP | 8.1 or newer | According to plugin.php and composer.json |
| Composer autoloader | included in the release ZIP | With a Git clone you must run composer install |
GNU General Public License v2 or later, see LICENSE.
Report bugs and questions in the issue tracker. Please include the osTicket version, PHP version, plugin version, browser console errors and, if relevant, the content of the CSS file.