Hopp til innholdet

Aurora 1.0 is out!

What's new →
Dokumentasjonsmeny

Bygge et nettsted

Blokkvisninger og hjelpere

Vis tekst, lenker, bilder og spor med hjelpere eller Blade-direktiver.

Visningen til en blokk er en anonym Blade-komponent. Den får blokkens $data:

resources/views/components/blocks/card.blade.php Blade
@props(['data' => []])

<a href="{{ link_href($data) }}" class="card">
    <x-aurora::media :value="$data['image'] ?? null" size="md" class="card-image" />
    <h3 @editable('title')>{{ inline_text($data['title'] ?? '') }}</h3>
    @if (shows_field('body', $data['body'] ?? null))
        <p @editable('body')>{{ plain_text($data['body'] ?? '') }}</p>
    @endif
</a>

Hjelpefunksjonene

Hjelpefunksjonene er korte former av statiske metoder (inline_text() er Aurora\Support\Markup::inline()), så visningene trenger ingen @php use …-importer. Kall klassene direkte hvis du heller vil det.

HjelpefunksjonHva den gjør
@editable('field')Gjør elementet redigerbart på lerretet (for felt som står i editables())
inline_text($text)Tekst med uthevede ord, som *highlighted*
plain_text($text)Ren tekst, escapet
rich_text($html)Formatert tekst fra en RichEditor, renset
shows_field($field, $value)Om et valgfritt felt skal vises: når det er fylt ut, eller når lerretet redigerer, slik at det kan fylles ut
link_href($data), link_target($data)Adressen og målet til en Fields::link()-gruppe; send med prefikset for en annen gruppe: link_href($data, 'cta')
is_editing()Sann på lerretet, for eksempel for å vise plassholdere
block_slot($name)Et spor i en containerblokk, med blokkene som ligger i det
<x-aurora::media>Et bilde fra mediebiblioteket, responsivt, med blokkens beskjæring og fokuspunktet

Eller som Blade-direktiver

HjelpefunksjonDirektiv
{{ inline_text($data['title'] ?? '') }}@inlineText($data['title'] ?? '')
{{ plain_text(…) }}, {{ rich_text(…) }}@plainText(…), @richText(…)
{{ link_href($data) }}, {{ link_target($data) }}@linkHref($data), @linkTarget($data)
{{ block_slot('content') }}@blockSlot('content') (ikke @slot: det bruker Blade-komponentene)
@if (shows_field('body', …)) … @endif@shows('body', …) … @endshows
@if (is_editing()) … @endif@editing … @else … @endediting

Navngitt så de aldri kolliderer

Hjelpefunksjonene er oppkalt etter det de leser (link_href, plain_text), aldri enkle ord som href() eller text() som Laravel eller en annen pakke også kunne ha definert.