Adminix Documentation Help

Pages list

An Adminix page is a PHP provider that returns an AdminixPage. The page controls the URL segment, internal name, optional header metadata, breadcrumbs, header actions, and the modules rendered on the screen.

Use this page when you only need the high-level page workflow. For the complete page provider API, see Page.

Register pages

For a simple installation, register page providers in config/adminix.php. Each item should call the provider's get() method and return an AdminixPage instance.

// config/adminix.php use App\Adminix\Pages\IndexPage; use App\Adminix\Pages\OrdersPage; use App\Adminix\Pages\UsersPage; return [ // ... 'pages' => [ IndexPage::get(), UsersPage::get(), OrdersPage::get(), ], ];

Result: Adminix can resolve the configured page URI through the package page route. If the URI is orders, the page opens at /adminix/orders by default.

For multi-panel applications, attach the same kind of page providers to the relevant AdminixPanel instead of the legacy pages array. See Configuration for panel setup.

Create a page provider

Use the generator when possible:

php artisan make:adminix_page OrdersPage --tests --dry-run php artisan make:adminix_page OrdersPage --tests

--dry-run shows the files that will be created. --tests adds a starter package-safe test stub.

Then fill the provider with the modules the screen needs:

use AlexKudrya\Adminix\AdminixPage; use AlexKudrya\Adminix\AdminixPageProvider; use AlexKudrya\Adminix\Modules\Module; use App\Models\Order; final class OrdersPage implements AdminixPageProvider { public static function get(): AdminixPage { return AdminixPage::uri('orders') ->name('orders') ->title('Orders') ->description('Review tenant-scoped orders.') ->addModule( Module::list() ->name('orders') ->dataSource(Order::class) ->primaryKey('id') ); } }

Result: the page shell renders a header and a list module. Add criteria, search, filters, actions, and tenant scope before using the page for real admin traffic.

Choose modules

Common starting points:

The full module index is available under Modules.

A page can exist without a sidebar link, but normal admin screens should be reachable from the menu:

use AlexKudrya\Adminix\Modules\Link\MenuLinkModule; 'menu' => [ 'title' => 'Admin panel', 'links' => [ MenuLinkModule::title('Orders') ->uri('orders') ->icon('bi bi-receipt'), ], ],

Keep menu URLs server-declared. Do not build privileged Adminix navigation from browser-owned data.

Last modified: 23 July 2026