Plugin Quickstart: Add a Feature to InnoCMS with Hooks
Plugin Quickstart: Add a Feature to InnoCMS with Hooks
2026-09-23
InnoCMS
Documentation
445
Plugin Quickstart: Add a Feature to InnoCMS with Hooks

Almost all of InnoCMS's extensibility comes from its hook-based plugin system. A minimal plugin needs just two files: config.json and Boot.php.

Layout

plugins/MyPlugin/
├── config.json
├── Boot.php
├── Routes/panel.php
└── Views/

Three steps to a feature

  • In init(), call listen_hook_filter('component.sidebar.plugin.routes', ...) to add a sidebar entry
  • Use listen_blade_insert('layouts.footer.top', ...) to inject footer content
  • Register panel routes and controllers in Routes/panel.php

No core files are touched, and removing the plugin restores the original behaviour.