Sari la conținut

Modelul de conținut

Tipuri, cele 20 de tipuri de câmp, limbi, ciorne și versiuni.

DocumentațieConținut

Meniul documentațieiModelul de conținut

Un proiect ține conținutul unui site sau al unei aplicații. Structura lui e un set de tipuri, fiecare cu câmpurile lui, plus o listă de limbi.

Tipuri

FelȚineSe citește cu
Colecțiemai multe intrări: articole, produse, evenimenteentries(type), entry(type, slug)
Singletono singură intrare: setările site-ului, pagina de startsingleton(type)

Fiecare tip are o cheie (article, site_settings), un nume și un câmp de titlu, pe care admin-ul îl folosește ca titlu al intrării în liste, la căutare și în referințe. Cheile au litere mici, cifre și liniuțe jos și încep cu o literă.

Câmpuri

TipȚineDe știut
textun text scurtimplicit cel mult 500 de caractere
longtextun text lungimplicit cel mult 20.000 de caractere
numberun număropțional min, max, integer
booleanadevărat sau fals
date2026-10-12
datetime2026-10-12T18:00:00.000Zprimește orice fus orar, întoarce UTC
time18:30ceas de 24 de ore
selecto valoare sau, cu multiple, mai multedintr-o listă fixă de opțiuni
slugprimul-meu-articolunic în tip, poate urma un câmp de text cu from
urlhttps://exemplu.rodoar http și https
emailsalut@exemplu.rose păstrează cu litere mici
color#1f5c4ahex cu șase cifre
referenceid-ul altei intrărito limitează tipurile, multiple permite mai multe
listelemente repetate, fiecare cu câmpurile luicel mult 500 de elemente
groupcâmpuri ținute împreună
jsonorice valoare JSONpentru date care nu au încă un formular
mediaun fișier din biblioteca media sau, cu multiple, mai multekinds îl limitează la imagini, video sau fișiere; imaginile cer text alternativ la publicare
rich_texttext formatat: titluri, liste, citate, cod, linkuri și imaginivine ca JSON și ca HTML sigur
embedun video de pe YouTube sau Vimeomerge orice link spre video, se păstrează furnizorul și id-ul
blockssecțiunile unei pagini: o listă ordonată de blocuri, fiecare de un fel pe care îl definești, cu câmpurile luidoar pe primul nivel; lista e comună tuturor limbilor, câmpurile din bloc se pot traduce

Câmpurile se pot pune în liste și grupuri pe cel mult trei niveluri.

Fiecare câmp mai poate avea:

  • required: publicarea așteaptă până are o valoare, în fiecare limbă pentru câmpurile care se traduc
  • help: un rând sub câmp, în editor
  • maxLength și pattern pentru text; tiparele rulează pe RE2, deci se termină mereu în timp liniar
  • unique pentru text și slug

Limbi

Un proiect are o listă de limbi și o limbă principală, de exemplu en și ro, cu en principală. Un câmp marcat pe limbă ține câte o valoare pentru fiecare limbă; celelalte țin o singură valoare.

Când ceri din Delivery API locale=ro, fiecare câmp tradus vine în română, iar un câmp fără valoare în română cade pe limba principală, câmp cu câmp. _locale de pe fiecare intrare spune ce limbă ai cerut.

Ciorne, versiuni și publicare

Fiecare salvare e o versiune pe care o poți deschide și restaura. O intrare are una dintre trei stări:

  • draft: nepublicată niciodată, invizibilă pentru Delivery API
  • published: copia live e la fel cu ultima salvare
  • changed: publicată, cu modificări noi care așteaptă

Publicarea copiază versiunea curentă în copia live, dintr-un singur pas. Retragerea o scoate din Delivery API; intrarea și versiunile ei rămân în admin.

Schimbarea structurii

Poți adăuga, redenumi și reordona câmpuri oricând. Un câmp șters își păstrează datele, așa că, dacă îl aduci înapoi, revin și valorile. Delivery API întoarce doar câmpurile din structura de acum, deci un câmp șters nu ajunge pe site.

Dacă structura se schimbă cât cineva are o intrare deschisă, salvarea întoarce 409 schema_changed, iar editorul îi cere să reîncarce pagina, ca nimeni să nu suprascrie un câmp pe care nu l-a văzut.