До нас звернулися із запитом: «Потрібна адмінка, де менеджер додає товари, а на сайті з'являються картки з фотографіями, категоріями та характеристиками. Без адмінки довелося б писати REST API з нуля». Cockpit CMS вирішує це за годину: створюєте колекцію «Товари» з полями (назва, ціна, зображення), зв'язком із категоріями через collectionlink і репітером для характеристик. Готовий JSON-ендпоінт з'являється одразу — фронтенд забирає дані через GET-запит. Ми використовуємо Cockpit CMS у 50+ headless-проектах — це headless-система, що дає гнучкість через Collections та Singletons. За 4–8 годин налаштовуємо структуру, поля, зв'язки та права доступу, а редактор отримує інтуїтивний інтерфейс без зайвого коду. Наш досвід: 5 років на ринку, понад 50 проектів на Cockpit. Порівняно з розробкою кастомної адмінки з нуля, ви економите до 60% часу та до 50% бюджету.
Які проблеми вирішуємо з колекціями?
Типовий біль — ручне створення API для керування контентом. Cockpit автоматично генерує REST-ендпоінти для кожної колекції. Друга проблема — складність зв'язків між сутностями. У Cockpit зв'язки налаштовуються через тип поля collectionlink без SQL-запитів. Третя — необхідність розмежування прав доступу. Cockpit підтримує ролі: адміністратор, редактор, контент-менеджер. У 80% проектів ми використовуємо зв'язки між 3–5 колекціями.
Як створити колекцію через API?
Створювати колекції можна через Admin UI або програмно — через REST API. Ось приклад для колекції «Товари»:
$collection = [ 'name' => 'products', 'label' => 'Товари', 'fields' => [ ['name' => 'title', 'type' => 'text', 'required' => true, 'label' => 'Назва'], ['name' => 'slug', 'type' => 'text', 'required' => true, 'slug' => true], ['name' => 'description', 'type' => 'wysiwyg', 'label' => 'Опис'], ['name' => 'price', 'type' => 'number', 'label' => 'Ціна'], ['name' => 'image', 'type' => 'asset', 'label' => 'Фото'], ['name' => 'gallery', 'type' => 'gallery', 'label' => 'Галерея'], ['name' => 'category', 'type' => 'collectionlink', 'link' => 'categories'], ['name' => 'published', 'type' => 'boolean', 'default' => false], ['name' => 'publishedAt', 'type' => 'date'], ], 'sortable' => true, 'in_menu' => true, ]; Після цього POST-запитом створюється колекція в Cockpit. Одразу доступні записи через API або адмінку. Весь процес займає 5–10 хвилин. Як зазначено в офіційній документації Cockpit CMS, API повністю RESTful.
Типи полів Cockpit
Cockpit підтримує 20+ типів полів. Ось основні:
| Тип | Опис | Приклад використання |
|---|---|---|
text |
Рядок до 255 символів | Назва товару |
textarea |
Багаторядковий текст | Опис статті |
wysiwyg |
Rich text редактор (TinyMCE) | Контент посту |
markdown |
Markdown | Технічна документація |
number |
Число (int/float) | Ціна, вага |
boolean |
Перемикач так/ні | Опубліковано |
select |
Випадаючий список | Категорія товару |
asset |
Одиночний файл/зображення | Головне фото |
gallery |
Галерея зображень | Фото товару |
date / time |
Дата/час | Дата публікації |
color |
Колірний пікер | Колір фону |
collectionlink |
Посилання на запис іншої колекції | Пов'язаний пост |
repeater |
Повторювані групи полів | Блоки переваг |
layout |
Конструктор блоків (аналог Page Builder) | Головна сторінка |
object |
JSON-об'єкт для довільних даних | Налаштування інтеграції |
tags |
Теги (масив рядків) | Мітки для пошуку |
set |
Група полів для повторного використання | Контактні дані |
Ви можете комбінувати поля в будь-якому порядку. Для зв'язків між колекціями використовуємо collectionlink — він автоматично підтягує записи з пов'язаної колекції.
Як налаштувати зв'язки між колекціями?
Зв'язки між колекціями налаштовуються через тип collectionlink. Вкажіть цільову колекцію та можливість вибору кількох записів. Cockpit автоматично формує випадаючий список з пошуком. Наприклад, для товару можна вибрати категорію з колекції categories. Це аналогічно зовнішньому ключу в реляційних БД, але без SQL.
Колекція vs Синглтон: коли що використовувати?
| Критерій | Колекція | Синглтон |
|---|---|---|
| Кількість записів | Багато (сотні/тисячі) | Одна |
| Приклад | Статті, товари, користувачі | Налаштування сайту, SEO, контакти |
| API ендпоінт | /api/collections/items/{id} |
/api/singletons/{name} |
| Права доступу | По записах | На рівні синглтона |
Синглтон зручний для налаштувань: SEO-теги, контакти, соцмережі, банери. Приклад структури для сторінки «Головна»:
{ "fields": [ { "name": "hero_title", "type": "text" }, { "name": "hero_subtitle", "type": "textarea" }, { "name": "hero_image", "type": "asset" }, { "name": "featured_posts", "type": "collectionlink", "link": "posts", "multiple": true }, { "name": "seo_title", "type": "text" }, { "name": "seo_description", "type": "textarea" } ] } Редактор заповнює поля, а фронтенд отримує готовий JSON через API. Жодної зайвої логіки.
Використання Repeater для блоків контенту
Repeater дозволяє додавати довільну кількість повторюваних блоків. Наприклад, блок «Переваги»:
{ "name": "features", "type": "repeater", "label": "Переваги", "fields": [ { "name": "icon", "type": "asset" }, { "name": "title", "type": "text" }, { "name": "description", "type": "textarea" } ] } В адмінці редактор бачить кнопку «Додати блок» — кожен новий блок підтягує ті ж поля. Це зручніше, ніж зберігати HTML у текстовому полі. Ми використовуємо repeater у 90% проектів.
Що входить у роботу
- Аналіз структури даних — визначаємо колекції, зв'язки та поля під ваші бізнес-сутності (2–4 години).
- Створення схем — налаштування колекцій, синглтонів та їх полів через Admin UI або API (4–8 годин).
- Налаштування прав доступу — розмежування ролей (адміністратор, редактор, контент-менеджер) (1–2 години).
- Документація API — опис ендпоінтів для фронтенду або інтеграцій (2–4 години).
- Навчання команди — показуємо, як працювати з адмінкою, додавати записи та блоки (2–4 години).
- Підтримка після запуску — виправляємо помилки, допрацьовуємо поля за потреби (до 7 днів).
Як ми працюємо
- Аналітика — вивчаємо структуру контенту, збираємо вимоги.
- Проектування — створюємо ER-діаграму колекцій та зв'язків.
- Реалізація — налаштовуємо Cockpit, пишемо кастомні поля/валідатори за потреби.
- Тестування — перевіряємо сценарії: створення, редагування, видалення записів, права доступу.
- Деплой — розгортаємо на сервері, налаштовуємо бекапи.
Терміни: від 1 дня до 2 тижнів, залежно від складності. Вартість розраховується індивідуально. Отримайте консультацію — наші інженери допоможуть оцінити проект та терміни. Замовте налаштування Cockpit CMS, отримайте готову адмінку без зайвого коду. Гарантуємо результат вчасно.







