- Reorganize admin into admin/theme/default/ (views + assets) - Rename GuideNav to Navigation plugin (essential, protected) - Plugin assets support (SCSS/CSS) loaded after theme CSS - User roles: Admin, Content Manager, BI Manager, Site Admin - Role-based access control (RBAC) for admin routes and sidebar - Guide restructure: sub-topics in separate folders with sidebar nav - Dynamic breadcrumb for homepage and subdirectories - Fix theme path traversal (../../ -> ../) in admin.php - Fix CodeMirror mode load order (xml -> css -> js -> htmlmixed -> php) - Fix editor-toolbar.js null checks for plugin edit pages - Layout select from theme.json with live frontmatter update - Footer sticky at bottom of viewport (min-height: 100vh) - Breadcrumb color fix (var(--nav-font) -> var(--header-bg)) - Remove language switcher from guide pages - Update README.md and README.en.md - Bump version to 2.5.1
43 lines
651 B
Markdown
43 lines
651 B
Markdown
# Plugin Development
|
|
|
|
## Plugin structure
|
|
|
|
```
|
|
plugins/MyPlugin/
|
|
├── plugin.json # Plugin metadata
|
|
├── plugin.php # Plugin code
|
|
└── config.json # Optional configuration
|
|
```
|
|
|
|
## plugin.json
|
|
|
|
```json
|
|
{
|
|
"name": "My Plugin",
|
|
"version": "1.0.0",
|
|
"author": "Your Name",
|
|
"description": "Description"
|
|
}
|
|
```
|
|
|
|
## plugin.php example
|
|
|
|
```php
|
|
<?php
|
|
/**
|
|
* Plugin: MyPlugin
|
|
*/
|
|
|
|
echo '<div class="my-plugin">Hello World</div>';
|
|
```
|
|
|
|
## Using CMSAPI
|
|
|
|
```php
|
|
<?php
|
|
require_once '../../cms/core/class/PluginManager.php';
|
|
|
|
$api = PluginManager::getAPI();
|
|
$config = $api->getConfig();
|
|
$content = $api->getContent();
|
|
``` |