Налаштування конфігурації колекцій Decap CMS

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

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

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

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

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування конфігурації колекцій Decap CMS
Проста
від 1 робочого дня до 3 робочих днів
Часті питання

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

Етапи розробки

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

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Настройка конфігурації колекцій Decap CMS

Колекції — центральний елемент config.yml. Кожна колекція визначає тип контенту: де зберігаються файли, як вони називаються, які поля доступні редактору. Правильно налаштовані колекції — різниця між CMS, якою зручно користуватися, та набором непозрозумілих полів.

Два типи колекцій

Folder collection — список однотипних записів (статті, кейси, вакансії):

collections:
  - 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 Title, name: hero_title, widget: string }
      - label: Про нас
        name: about
        file: content/about.md
        fields:
          - { label: Контент, name: body, widget: markdown }

Віджети полів

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

fields:
  - { label: Рядок, name: title, widget: string, required: true }
  - { label: Текст, name: description, widget: text }
  - { label: Число, name: order, widget: number, value_type: int }
  - { 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: Обложка, name: cover, widget: image, required: false }

  # Markdown-редактор
  - { label: Контент, name: body, widget: markdown, modes: [rich_text, raw] }

  # Список рядків
  - { label: Теги, name: tags, widget: list }

  # Вложений об'єкт
  - label: SEO
    name: seo
    widget: object
    fields:
      - { label: Meta Title, name: title, widget: string }
      - { label: Meta Description, name: description, widget: text }

  # Список об'єктів
  - label: Переваги
    name: features
    widget: list
    fields:
      - { label: Іконка, name: icon, widget: string }
      - { label: Заголовок, name: title, widget: string }

Шаблон імені файлу

slug визначає імя створюваного файлу. Доступні шаблонні змінні:

# Дата + slug з заголовка
slug: "{{year}}-{{month}}-{{day}}-{{slug}}"
# Результат: 2025-03-15-my-first-post.md

# Тільки slug
slug: "{{slug}}"

# Кастомне поле
slug: "{{fields.id}}-{{slug}}"

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

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

Умовні поля

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: [uk, en]
  default_locale: uk

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

Терміни

5–8 типів контенту: 4–8 годин. З i18n, умовними полями, relations: 1–2 дні.