Dokumentasjonsmeny
Bygge et nettsted
Egne skjermer og modeller
Adminskjermer, modeller som publiseres som sider, og menypaneler for det nettstedet legger til.
Et nettsted har ofte mer enn sider: arrangementer, produkter, et team. Egne modeller og Filament-skjermer blir med i adminpanelet til Aurora fra en service provider, via Aurora\Support\AdminPanel.
Adminskjermer
use Aurora\Support\AdminPanel;
// Every resource and page in a folder and its subfolders…
AdminPanel::discover(app_path('Filament/Resources'), 'App\Filament\Resources', perSite: true);
// …or name them.
AdminPanel::resources([EventResource::class], perSite: true);
AdminPanel::pages([Reports::class]);
// A sidebar group of their own: after Content, or after: 'AI', or after one of yours.
AdminPanel::navigationGroup('Events', fn (): string => __('Events'));
- Grupper: en ressurs blir med i en gruppe etter navnet i
$navigationGroup('Events'over). Grupper som plasseres etter den samme gruppen, beholder rekkefølgen de ble registrert i. - Hvert nettsteds egne poster: adminpanelet er per nettsted (
/admin/{site}/…). Ressursene til et nettsted viser postene til alle nettsteder, med mindre de registreres medperSite: true, for en modell med ensite-relasjon. - Tekster: gi skjermer og felt navn med
__(). En linje i appenslang/{locale}.jsoner teksten med en gang, og slår Auroras egen; bare det som er redigert under Oversettelser, slår appens fil.
Publisert som en side
En modell som har utkast, planlegges og publiseres som en side, bruker Aurora\Models\Concerns\HasPublishing, med kolonnene sine i migreringen:
use Aurora\Models\Concerns\HasPublishing;
class Event extends Model
{
use HasPublishing;
}
// In its migration: status, published_at and unpublish_at.
Schema::create('events', function (Blueprint $table) {
$table->uuid('id')->primary();
$table->string('title');
Event::publishingColumns($table);
$table->timestamps();
});
// What visitors may see.
Event::query()->live()->get();
$event->isLive();
$event->isScheduled();
$event->hasEnded();
Ressursen får publiseringsfeltene fra sideskjemaet, statuskolonnen og statusfilteret fra Aurora\Filament\Publishing:
use Aurora\Filament\Publishing;
public static function form(Schema $schema): Schema
{
return $schema->components([
TextInput::make('title')->label(__('Title')),
Publishing::section(),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([TextColumn::make('title'), Publishing::column()])
->filters([Publishing::filter()]);
}
Menypaneler
Menyeditoren tilbyr sider og egendefinerte lenker. Legg til paneler for nettstedets egne adresser med Menus::panels(): et StaticMenuPanel med faste lenker, eller et ModelMenuPanel for en modell som implementerer MenuPanelable.
use Aurora\Support\Menus;
use Datlechin\FilamentMenuBuilder\MenuPanel\StaticMenuPanel;
Menus::panels([
StaticMenuPanel::make(__('Website'))->add(__('Events'), '/events'),
]);
// /events is in every language, under its prefix: in Norwegian the link goes to /no/events.
Menus::localized(['/events']);