Documentation Index
Fetch the complete documentation index at: https://docs.lunarphp.com/llms.txt
Use this file to discover all available pages before exploring further.
Resource extensions allow modifying the form, table, relations, pages, and sub-navigation of any Lunar admin resource. Create a class that extends ResourceExtension and register it with the LunarPanel facade.
Example
The following example extends the ProductResource to add a custom column to the form and table, a custom relation manager, and additional pages:
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Lunar\Admin\Support\Extending\ResourceExtension;
class MyProductResourceExtension extends ResourceExtension
{
public function extendForm(Form $form): Form
{
return $form->schema([
...$form->getComponents(withHidden: true),
TextInput::make('custom_column'),
]);
}
public function extendTable(Table $table): Table
{
return $table->columns([
...$table->getColumns(),
TextColumn::make('product_code'),
]);
}
public function getRelations(array $managers): array
{
return [
...$managers,
MyCustomProductRelationManager::class,
];
}
public function extendPages(array $pages): array
{
return [
...$pages,
'my-page-route-name' => MyPage::route('/{record}/my-page'),
];
}
public function extendSubNavigation(array $nav): array
{
return [
...$nav,
MyPage::class,
];
}
}
// Typically placed in a service provider...
LunarPanel::extensions([
\Lunar\Admin\Filament\Resources\ProductResource::class => MyProductResourceExtension::class,
]);
Available Methods
| Method | Description |
|---|
extendForm(Form $form) | Modify the resource’s form schema. |
extendTable(Table $table) | Modify the resource’s table columns and configuration. |
getRelations(array $managers) | Add or modify relation managers for the resource. |
extendPages(array $pages) | Add custom pages to the resource. |
extendSubNavigation(array $nav) | Add items to the resource’s sub-navigation. |
headerActions(array $actions) | Add or modify header actions. |
See the Filament documentation for more details on building resources, relation managers, and pages.