2.9 KiB
2.9 KiB
Plugins
Plugin types
There are two types of plugins:
- System plugins (blue badge) - Manage CMS functionality such as Dashboard, Logs and Statistics
- Content plugins (green badge) - Display content on the front-end such as HTMLBlock and Navigation
Essential plugins
Essential plugins (with a shield icon) cannot be edited, deactivated, or deleted. This applies to the Navigation plugin for example.
Managing plugins
- Enable/Disable - Turn plugins on/off
- Edit - Modify plugin code
- Configuration - Plugin settings (only for plugins with a Config button)
- Delete - Remove plugin
Only active plugins are shown in the admin sidebar.
New plugin
- Go to Plugins → New plugin
- Enter a name (e.g.
MyPlugin) - Edit the PHP file
- Enable the plugin
New plugins are content-plugins by default. To create a system plugin, add "type": "system" to plugin.json.
Plugin editor
Via Edit (pencil icon) in the plugin overview you open the plugin editor (/admin/plugins-edit?plugin=<name>). It works the same as the content and theme editors.
File browser sidebar
- Shows the nested file tree of the plugin, with a clickable plugin root at the top
- Click a file to open it in the CodeMirror editor
- Click a folder to open the folder detail pane on the right (new file, new folder, upload, delete)
- Folders containing the active file are auto-expanded
- Per folder there are action buttons: new file, new folder — they operate on the selected folder
- Per file there are action buttons: rename/move (pencil), delete (trash) — appear on hover
Drag-and-drop
- Drag a file or folder onto another folder to move it
- Valid drop targets are highlighted during dragging
- The move is performed via an AJAX call — the page reloads automatically on success
- Protected plugins (like Navigation) cannot be edited/moved
Editable file types
.php, .json, .md, .html, .css, .scss, .js
Create a new file / folder
- Select the target folder in the sidebar (click the folder name), or use the root
- Click New file or New folder (in the folder-detail pane or at the top)
- For a new file: enter a path within the plugin (e.g.
helper.phporassets/css/extra.css) - Subfolders are created automatically
Move / delete a file
- Move: drag the file onto another folder (drag-and-drop), or click the pencil icon
- Delete: click the trash button next to the file in the sidebar, with confirmation
Folder management
- Click a folder in the sidebar to open the folder-detail pane on the right
- New file / new folder / upload into this folder: use the buttons in the folder-detail pane
- Delete folder: delete button in the folder-detail pane (only empty folders)
Security
- Protected plugins (Navigation) cannot be edited
- All actions require a CSRF token
- Path-traversal protection via
realpath()+ prefix check on the plugin dir