К нам пришли с запросом: «Нужна админка, где менеджер добавляет товары, а на сайте появляются карточки с фотографиями, категориями и характеристиками. Без админки пришлось бы писать 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, получите готовую админку без лишнего кода. Гарантируем результат в срок.







