pubvana / navigation
Navigation manager for Pubvana CMS
Package info
github.com/Pubvana-CMS/navigation
Type:flightphp-plugin
pkg:composer/pubvana/navigation
Requires
- php: ^8.1
- enlivenapp/flight-school: ^0.3
- enlivenapp/flight-settings: ^0.2
- enlivenapp/flight-shield: ^0.2
- enlivenapp/migrations: ^0.2
- flightphp/active-record: ^0.7
Suggests
- pubvana/admin: Admin UI for theme selection and management
README
Pubvana Navigation
I noticed folks downloading some of these packages. I'm super grateful, Thank You! I would like to let folks know until this notice disappears I'm doing a lot of breaking changes without worrying about them. Once versions are up around 0.5.x things should settle down.
Navigation manager for Pubvana CMS.
Related Docs
- Project docs index: docs/README.md
- Pubvana architecture: docs/PUBVANA-ARCHITECTURE.md
- Admin extension points: docs/ADMIN-EXTENSION-SYSTEM.md
Features
- Multiple navigation groups such as
primaryandfooter - Nested menu trees
- Reordering support
- Quick-add linkable items from package contributions
- Theme-friendly navigation rendering through
$app->navigation()
Requirements
- PHP ^8.1
- enlivenapp/flight-school ^0.2
- enlivenapp/flight-shield
- enlivenapp/migrations
- flightphp/active-record ^0.7
Installation
composer require pubvana/navigation
Enable in app/config/config.php:
'plugins' => [ 'pubvana/navigation' => [ 'enabled' => true, 'priority' => 50, ], ],
Flight School config
This package uses Flight School's return-array config format. src/Config/Config.php returns the package defaults as an array, and Flight School stores that array under pubvana.navigation on $app.
That returned array currently includes 'routePrepend' => 'navigation'. This package currently ships admin routes only, so its user-facing URLs stay under /admin/....
Service
Mapped as $app->navigation(). Common uses:
$navigation = Flight::navigation(); $tree = $navigation->getTree('primary'); $flat = $navigation->getByGroup('footer'); $linkable = $navigation->getLinkableItems();
The service also supports create, delete, and reorder operations for admin use.
Admin
Navigation management is exposed through the optional admin UI and integrates with package-provided nav.linkable contributions.
License
MIT