API — Paragrafy (Paragraphs)
Endpointy
| Metoda | Ścieżka | Opis |
|---|---|---|
| GET | /cms/paragraphs.json |
Lista paragrafów |
| GET | /cms/paragraphs/:code.json |
Szczegóły (po code lub id) |
| POST | /cms/paragraphs.json |
Utworzenie |
| PATCH | /cms/paragraphs/:code.json |
Aktualizacja |
| DELETE | /cms/paragraphs/:code.json |
Usunięcie |
Pola
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
code |
string | tak | Unikalny kod (zalecany format: {site_code}-{nazwa}) |
name |
string | tak | Nazwa |
kind |
string | tak | Typ — text
|
content |
string | nie | Treść (HTML lub Liquid) |
markup |
string | nie | Format treści: html lub markdown (auto-detect jeśli puste) |
site_code |
string | nie | Code witryny |
page_code |
string | nie | Code strony (podłącza paragraf do strony) |
box_code |
string | nie | Kod boxa do grupowania (np. "sidebar", "footer") |
priority |
decimal | nie | Priorytet sortowania (wyższy = pierwszy) |
fields |
jsonb | nie | Własne pola (dostępne w Liquid jako {{ pole }}) |
Grupowanie paragrafów (box_code)
Paragrafy z tym samym box_code mogą być wyświetlane razem na stronie przez tag CMS:
<cms type="box" id="sidebar"></cms>
Wstawia wszystkie paragrafy z box_code = "sidebar", posortowane po priority.
Wielojęzyczne pola
Paragrafy obsługują wielojęzyczne pola w fields:
{
"paragraph": {
"fields": {
"pl": { "title": "O nas" },
"en": { "title": "About us" }
}
}
}
System automatycznie wybiera pola na podstawie locale strony lub parametru ?locale=en.
Filtrowanie
-
?q=fraza— szuka w name, code, box_code -
?site_id=1— filtrowanie po witrynie -
?layout_id=2— filtrowanie po szablonie