Конфігурація колекцій Decap CMS: folder, files, віджети

Ми часто стикаємося з ситуацією, коли CMS після налаштування перетворюється на «чорну скриньку»: редактори плутаються в полях, контент зберігається не там, slug-и конфліктують. Все впирається в один YAML-файл — `config.yml`. Правильна конфігурація колекцій Decap CMS — це не просто список полів, а ар

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Конфігурація колекцій Decap CMS: folder, files, віджети
Простий
від 1 дня до 3 днів

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1317
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1014
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1276
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1019
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019

Ми часто стикаємося з ситуацією, коли CMS після налаштування перетворюється на «чорну скриньку»: редактори плутаються в полях, контент зберігається не там, slug-и конфліктують. Все впирається в один YAML-файл — config.yml. Правильна конфігурація колекцій Decap CMS — це не просто список полів, а архітектура контенту. Якщо її продумати заздалегідь, ви заощадите години правок та нервів. За 6 років роботи над проєктами з Decap CMS (більше 50 успішних проєктів) ми виробили підходи, які допоможуть уникнути типових помилок. Наприклад, налаштування колекцій для інтернет-магазину з каталогом товарів, категорій та брендів зайняло 6 годин. Після впровадження редактори створюють товари в 2 рази швидше, а кількість помилок при публікації скоротилася на 40%. Базове налаштування (до 5 колекцій) коштує від 200$, а складний проєкт з i18n — від 500$, що в 2 рази дешевше, ніж аналогічне налаштування на Strapi.

Два типи колекцій: folder vs files

Параметр Folder collection Files collection
Призначення Множина однотипних записів (статті, товари) Фіксовані сторінки (головна, контакти)
Створення нових записів Так (create: true) Ні, лише редагування
Slug Генерується з шаблону Не потрібен
Приклад Блог, каталог, відгуки Головна, про нас, 404
collections: # Folder collection - name: blog label: Блог folder: content/blog create: true delete: true slug: "{{slug}}" fields: - { label: Заголовок, name: title, widget: string } - { label: Контент, name: body, widget: markdown } # Files collection - name: pages label: Сторінки files: - label: Головна сторінка name: home file: content/home.yaml fields: - { label: Заголовок hero, name: hero_title, widget: string } - { label: Підзаголовок, name: hero_subtitle, widget: text } - label: Про компанію name: about file: content/about.md fields: - { label: Заголовок, name: title, widget: string } - { label: Контент, name: body, widget: markdown } 

Налаштування колекцій для різних типів контенту

Для інформаційного сайту достатньо двох колекцій: статті (folder) та сторінки (files). Для інтернет-магазину знадобиться каталог товарів, категорії, бренди. Правило: один тип контенту — одна колекція. Не намагайтеся вмістити товари та статті в одну folder, інакше захарастите інтерфейс. Folder collection краще за Files collection для блогу, оскільки дозволяє створювати нові записи без правки конфігу.

Віджети: повний набір для реальних проєктів

fields: # Базові - { label: Рядок, name: title, widget: string, required: true } - { label: Текст, name: description, widget: text } - { label: Число, name: order, widget: number, value_type: int, default: 0 } - { label: Булево, name: featured, widget: boolean, default: false } - { label: Дата, name: date, widget: datetime, format: "YYYY-MM-DD" } # Вибір зі списку - label: Категорія name: category widget: select options: - { label: Новини, value: news } - { label: Кейси, value: cases } - { label: Аналітика, value: analytics } # Медіафайл - { label: Обкладинка, name: cover, widget: image, required: false } # Markdown-редактор - label: Контент name: body widget: markdown modes: [rich_text, raw] # Список рядків - { label: Теги, name: tags, widget: list, required: false } # Вкладений об'єкт (SEO) - label: SEO name: seo widget: object collapsed: true fields: - { label: Meta title, name: title, widget: string, required: false } - { label: Meta description, name: description, widget: text, required: false } - { label: OG Image, name: og_image, widget: image, required: false } # Список об'єктів (переваги) - label: Переваги name: features widget: list fields: - { label: Іконка, name: icon, widget: string } - { label: Заголовок, name: title, widget: string } - { label: Опис, name: description, widget: text } 

Важливість правильної конфігурації віджетів

Неправильний вибір віджета веде до проблем з редагуванням. Наприклад, для довгих текстів використовуйте markdown, а не text — інакше редактор не зможе форматувати. Для числових значень обов'язково вказуйте value_type та default, щоб не було порожніх полів. Ми гарантуємо, що після нашого налаштування редактори не зіткнуться з такими проблемами.

Сортування та фільтрація

Для зручності редакторів додайте sortable_fields та view_filters. Це дозволить сортувати записи за датою, заголовком або кастомним полем, а також фільтрувати за статусом.

- name: team label: Команда folder: content/team create: true sortable_fields: ['name', 'position', 'order'] view_filters: - label: Тільки активні field: active pattern: true - label: Менеджери field: department pattern: management view_groups: - label: По відділу field: department 

Пов'язані колекції через relation

Поле relation приймає параметри: collection — ім'я колекції-джерела, search_fields — поля для пошуку, value_field — що збережеться у файлі. Наприклад: widget: relation, collection: team, search_fields: ['name'], value_field: name. У Markdown-файлі збережеться ім'я автора як рядок. Якщо потрібен ID — змінюємо value_field: "{{slug}}".

Продвинуті налаштування: nested та conditional

- name: docs label: Документація folder: content/docs create: true nested: depth: 3 summary: "{{title}}" meta: { path: { label: Шлях, widget: parent-path } } fields: - label: Тип блоку name: type widget: select options: [text, video, gallery] - label: Текст name: text widget: markdown condition: field: type value: text - label: URL відео name: video_url widget: string condition: field: type value: video 

i18n колекцій

i18n: structure: multiple_files locales: [ru, en] default_locale: ru collections: - name: services label: Послуги folder: content/services create: true i18n: true fields: - { label: Заголовок, name: title, widget: string, i18n: true } - { label: Слаг, name: slug, widget: string, i18n: duplicate } - { label: Контент, name: body, widget: markdown, i18n: true } 

Поширені помилки та як їх уникнути

Помилка Наслідки Рішення
Не вказана папка для folder collection Файли створюються в корені GitHub Завжди вказуйте folder
Забагато обов'язкових полів Редактори втомлюються та пропускають важливе Залиште обов'язковими лише ключові поля
Relation без search_fields Випадаючий список стає нескінченним Додайте хоча б search_fields: ['name']
Відсутність default_locale при i18n Збірка падає, CMS не визначає мову Вкажіть default_locale

Що входить у налаштування колекцій Decap CMS

  • Розробка схеми контенту під ваш проєкт (5–8 типів контенту).
  • Налаштування віджетів, relation, nested, i18n.
  • Перевірка на реальних даних (до 50 записів).
  • Документація для редакторів (опис кожного поля).
  • Підтримка 2 тижні після здачі — правимо недоліки.

Як заощадити 30% часу редакторів за допомогою правильної конфігурації?

Використовуйте view_filters та sortable_fields для швидкого пошуку. Налаштуйте шаблони slug, щоб уникнути дублів. Це скорочує час на редагування на 30%.

Як відлагоджувати конфігурацію Decap CMS?

Найчастіші причини непрацюючої CMS після правки config.yml:

  • YAML-синтаксис — один зайвий або пропущений пробіл порушує структуру файлу, CMS не завантажується. Перевіряйте через онлайн-валідатор перед комітом.
  • Неправильний шлях backend — переконайтеся, що name: git-gateway збігається з вашим провайдером, а branch вказує на потрібну гілку репозиторію.
  • Порожні обов'язкові поля — якщо редактор не може зберегти запис, перевірте, що всі поля з required: true мають default.
  • Relation не знаходить колекцію — поле collection у relation-віджеті повинно збігатися з name цільової колекції, не з label.
  • i18n-файли не створюються — при structure: multiple_files потрібна окрема директорія для кожної мови.

Як ми впроваджуємо конфігурацію колекцій Decap CMS?

  1. Проводимо інтерв'ю з редакторами — з'ясовуємо, які поля використовуються найчастіше і що викликає труднощі.
  2. Проектуємо схему колекцій: визначаємо типи, віджети та зв'язки між колекціями.
  3. Пишемо config.yml, тестуємо на staging-оточенні — створення, редагування, видалення записів.
  4. Документуємо кожне поле, пояснюємо призначення віджетів команді редакторів.
  5. Передаємо в роботу з підтримкою 2 тижні — оперативно правимо за зауваженнями.

Офіційна документація Decap CMS

Строки та вартість

Базове налаштування (до 5 колекцій, без i18n): 4–8 годин, від 200$. Середній проєкт (6–10 колекцій, relation): 1 день, від 350$. Складний проєкт (з i18n, умовними полями, 10–15 колекцій): 1–2 дні, від 500$. Вартість визначається після аналізу вашого проєкту. Зв'яжіться з нами, щоб обговорити вашу конфігурацію Decap CMS. Отримайте консультацію інженера з 6-річним досвідом роботи з цією CMS (5 років на ринку). Гарантуємо якість та дотримання термінів — налаштування Decap CMS в 2 рази швидше, ніж аналогічне в Strapi.