API — Artykuły (Articles)
Endpointy
| Metoda | Ścieżka | Opis |
|---|---|---|
| GET | /cms/articles.json |
Lista artykułów |
| GET | /cms/articles/:id.json |
Szczegóły artykułu |
| POST | /cms/articles.json |
Utworzenie |
| PATCH | /cms/articles/:id.json |
Aktualizacja |
| DELETE | /cms/articles/:id.json |
Usunięcie |
Pola
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
title |
string | tak | Tytuł artykułu |
published_at |
datetime | tak | Data publikacji (domyślnie: teraz) |
path |
string | auto | Ścieżka URL (auto-generowana z tytułu jeśli pusta) |
category_code |
string | nie | Kod kategorii do grupowania |
author |
string | nie | Autor |
abstract |
text | nie | Streszczenie/lead |
content |
text | nie | Pełna treść |
markup |
string | nie | Format: html lub markdown (auto-detect) |
image_url |
string | nie | URL obrazka głównego |
publish_to |
datetime | nie | Data zakończenia publikacji |
published |
boolean | nie | Opublikowany (domyślnie: true) |
accepted |
boolean | nie | Zaakceptowany (domyślnie: true) |
site_id |
integer | nie | ID witryny |
html_title |
string | nie | Meta tytuł SEO |
html_description |
text | nie | Meta opis SEO |
html_keywords |
string | nie | Meta słowa kluczowe |
fields |
jsonb | nie | Własne pola |
Logika publikacji
Artykuł jest widoczny publicznie gdy spełnione są wszystkie warunki:
published = truepublished_at <= teraz-
publish_tojest puste LUBpublish_to >= teraz
Gdy accepted = false, system automatycznie ustawia published = false.
Wyświetlanie na stronie CMS
Artykuły wyświetla się na stronie przez tag CMS w treści strony:
<cms type="article" category_code="news" per_page="10">
<list>
<h3><a href="{{ path }}">{{ title }}</a></h3>
<time>{{ published_at_date }}</time>
<p>{{ abstract }}</p>
</list>
<show>
<h1>{{ title }}</h1>
<div>{{ content }}</div>
<a href="{{ back_url }}">Powrót</a>
</show>
</cms>
System automatycznie rozpoznaje listę (/blog) i widok artykułu (/blog/tytul-artykulu).
Filtrowanie
-
?q=fraza— szuka w title, abstract, content -
?published=true— tylko opublikowane -
?accepted=true— tylko zaakceptowane