Dokumentasjonsmeny
Referanse
Ruting
Hvordan en adresse finner siden sin, og hvor nettstedets egne ruter passer inn.
Hvordan en adresse finner siden sin
- Appens egne ruter, i
routes/web.php, lastes først og vinner alltid. - Auroras sideruter kommer etter:
/(forsiden),sitemap.xml,robots.txt, signertepreview/{page}-lenker, og så en oppsamlingsrute for alle andre adresser. Oppsamlingsruten lar adresser som begynner medadmin,livewire,filament,oauth,mcp,api,storageogupvære i fred. - En adresse som ikke er en side, går til de lagrede viderekoblingene, og svarer så med 404.
Filer (/files/{id}) og skjemaer (/forms/{form}) har egne ruter. Sett aurora.routes til false for å slå av siderutene og rute sidene selv med Aurora\Http\Controllers\PageController.
Egne ruter
Legg nettstedets egne ruter i routes/web.php. Aurora\Http\Middleware\UseSiteLocale kjører på alle web-ruter: en adresse som begynner med prefikset til et språk, setter det språket (app()->getLocale() og ContentLocale::current()). Så en rute på flere språk defineres under hvert prefiks, ved siden av standardruten:
use App\Http\Controllers\ShowEvents;
Route::get('/events', ShowEvents::class)->name('events');
Route::get('/no/events', ShowEvents::class)->name('events.nb'); // /no is Norwegian's prefix
ContentLocale::prefix($code) gir prefikset til et språk (tomt for standardspråket), og Menus::localized(['/events']) får menylenker til /events til å gå til språket som vises.
Nettstedskartet
Sitemap::add() legger nettstedets egne adresser til i sitemap.xml, hver som en URL eller en array:
use Aurora\Support\Sitemap;
Sitemap::add(fn (): iterable => Event::query()->live()->get()->map(fn (Event $event): array => [
'url' => route('events.show', $event),
'updated_at' => $event->updated_at,
'priority' => 0.6,
]));
Nettstedets oppsett rundt dine egne ruter
En av nettstedets egne ruter får nettstedets head, topptekst, menyer og bunntekst fra et av oppsettene, akkurat som en side. Pakk innholdet i visningen inn i <x-aurora::layout>, så står det der en sides blokker ville stått:
<x-aurora::layout :title="__('Events')" description="What's on this spring.">
<section class="mx-auto max-w-5xl px-6 py-16">
<h1>{{ __('Events') }}</h1>
@foreach ($events as $event)
<x-event-card :event="$event" />
@endforeach
</section>
</x-aurora::layout>
| Attributt | Hva det gjør |
|---|---|
title | Sidens tittel, i nettleserfanen og for søkemotorer. Påkrevd |
description | Metabeskrivelsen |
layout | Handlen til oppsettet som skal brukes, for eksempel landing; ellers standardoppsettet |
:settings | Oppsettets egne felt, slik en side ville hatt dem ($settings i visningen) |
noindex | Holder søkemotorene unna |
Oppsettet får en stedfortredende side med den tittelen og beskrivelsen og adressen til forespørselen: på hvert språk den samme adressen under språkets prefiks, så språkvelgeren i oppsettet virker. current_page() inni gir stedfortrederen, som på en side. Den blir bare tegnet, aldri lagret.
Fra en kontroller gir Layouts::wrap() den samme HTML-en:
use Aurora\Support\Layouts;
return response(Layouts::wrap(
view('events.list', ['events' => $events]), // anything Htmlable
title: __('Events'),
description: 'What\'s on this spring.',
layout: 'landing',
));