Amvionlie CMS
Where the Future Begins

Route And Navigation Manifest Fields

Route and navigation fields tell Admin, public routing, system governance, and Installer how the addon should be reached after deployment.

File Shape

Use `routing` to declare canonical route namespaces and base paths. Use `admin_routes` and `public_routes` for concrete route records. Use `admin_navigation` only for menu placement. Navigation should point to a route key or route that is also declared in the routes list.

What Owns It

The addon owns `route_key`, `handler`, `surface`, `view`, and declared paths. system governance owns collision validation for addon key, slug, route path, and route-key claims. Admin owns final menu rendering.

Common Breakage

  • Navigation that points at a route not declared in `admin_routes` leaves admins with dead menu links.
  • Two addons claiming the same route path or route key should be rejected before deployment.
  • `surface` and `view` values that do not match the admin handoff make the route look installed while the page cannot render.
  • Public routes should use `permission => null` only when the page is intentionally guest-visible.

Minimal Pattern

'routing' => [
    'admin' => [
        'namespace' => 'admin',
        'base_path' => '/admin/your-addon-slug',
        'query_fallback' => '/public/index.php?panel=admin&view=your-addon-slug',
    ],
    'public' => [
        'namespace' => 'public',
        'base_path' => '/your-addon-slug',
    ],
],
'admin_navigation' => [
    [
        'section' => 'system',
        'group' => 'core',
        'label' => 'Your Addon Name',
        'route_key' => 'youraddon.admin.index',
        'route' => '/admin/your-addon-slug',
        'permissions' => ['youraddon.view'],
    ],
],

See Sample Manifest for the full route list.

Updated: 2026-05-07 02:18:09