Організація полів контенту за допомогою Blueprints і Fieldsets
Уявіть: ви переносите проект з WordPress на Statamic і стикаєтеся з хаосом із ACF-полів. Потрібно визначити 50+ полів для різних типів записів, частина з них повторюється — SEO-заголовки, OG-зображення, кастомні блоки. У Statamic це завдання вирішується через Blueprints і Fieldsets. Без чіткої схеми ви витратите дні на ручне копіювання, а зміна одного правила потребуватиме правки в десятку місць. Ми розповімо, як налаштувати blueprint-схему без болю, з перевикористанням та вбудованою валідацією.
Проблеми, які вирішуємо
Дублювання полів вручну
Без Fieldset кожне поле доводиться прописувати в кожному Blueprint заново. Це веде до помилок: в одному місці забули required, в іншому — невірний character_limit. Fieldset централізує логіку: змінили правило — воно застосувалося скрізь. У проекті з 6 колекціями це скорочує час редагування контенту на 40%.
Складні блоки контенту
Стандартний текстовий редактор не підходить для лендінгів з модулями: герой, переваги, тарифи. Bard з кастомними наборами (sets) дозволяє створити гнучку структуру, не вдаючись до ACF-подібних рішень. Ми налаштовуємо типові набори: слайдер, сітка переваг, таблиця цін — кожен зі своєю схемою полів.
Неправильна валідація та SEO
Без чіткої схеми поля легко пропустити обов'язкове зображення або Canonical URL. Ми закладаємо валідацію required, image, character_limit на етапі Fieldset — помилки виключені. Це знижує кількість багів при публікації контенту на 60%.
Як імпортувати Fieldset без конфліктів?
Візьмемо реальний кейс: інтернет-магазин на Statamic. Потрібні колекції: товари, категорії, відгуки, сторінки. Для всіх — спільний SEO-набір. Створюємо Fieldset seo:
# resources/fieldsets/seo.yaml title: SEO fields: - handle: title field: type: text display: SEO Title instructions: Якщо пусто — використовується основний заголовок character_limit: 70 - handle: description field: type: textarea display: Meta Description character_limit: 160 - handle: og_image field: type: assets container: assets max_files: 1 display: OG Image instructions: 1200×630px validate: [image] - handle: canonical_url field: type: text display: Canonical URL - handle: noindex field: type: toggle display: Сховати від пошуковиків default: false Імпортуємо його в Blueprint товару з префіксом seo_, щоб поля не конфліктували з title і description товару:
# resources/blueprints/collections/products/product.yaml sections: main: fields: - handle: title field: type: text required: true - handle: price field: type: text validate: numeric sidebar: fields: - import: seo prefix: seo_ Для відгуків — той самий SEO-набір, але вже без префікса, тому що полів всього два: title і body. Імпорт без префікса:
- import: seo Зміна одного Fieldset автоматично оновлює всі Blueprint, де він імпортований. Наприклад, додали поле og_type — воно з'явиться і в товарах, і у відгуках. У WordPress довелося б правити 5 шаблонів ACF. Statamic робить це за секунду.
Чому варто використовувати кастомні Fieldsets замість копіювання?
Окрім економії часу, Fieldsets дають єдину точку керування. Ви можете доповнити набір полів, змінити тип поля або додати валідацію — і це одразу відобразиться у всіх записах. У проектах з 20+ типами контенту це єдиний спосіб зберегти порядок.
Процес роботи з налаштування Blueprints
- Аналіз контенту — збираємо всі типи записів, їх поля, вкладені блоки, обов'язкові атрибути.
- Проектування Fieldset — виділяємо повторювані групи (SEO, мета, контакти, слайдери).
- Реалізація — створюємо YAML-схеми, налаштовуємо Bard-набори, валідацію, імпорти.
- Тестування — перевіряємо роботу CP, коректність збереження, валідацію.
- Деплой і документування — передаємо доступ, інструкцію з додавання полів.
Строки та що входить
Налаштування 5–8 колекцій з перевикористовуваними Fieldsets — від 1 до 2 днів. Входить:
- Створення Blueprint для кожного типу контенту.
- Розробка Fieldset для SEO, загальних блоків (галерея, файли, таби).
- Налаштування кастомних Bard-сетів (слайдер, переваги, ціни).
- Валідація полів: обов'язкові, формат, ліміти.
- Тестування в CP та на фронті.
- Документація з редагування полів.
Порівняння: Statamic Fieldsets vs WordPress ACF
| Параметр | Statamic Fieldsets | WordPress ACF |
|---|---|---|
| Швидкість налаштування для 5 типів | 1–2 дні | 2–3 дні (створення груп полів в UI) |
| Перевикористання | Імпорт одним рядком YAML | Через local field groups (складніше) |
| Гнучкі блоки контенту | Bard з кастомними sets | Flexible Content + Repeater |
| Версіонування | YAML в Git | Експорт PHP/JSON |
| Продуктивність | Статична генерація на старті | Динамічні запити до БД |
Типові помилки та їх наслідки
| Помилка | Наслідок | Рішення |
|---|---|---|
Забули required для обов'язкового поля |
Збереження запису без заголовка | Завжди вказувати required: true для критичних полів |
| Імпорт без префікса при збігу імен | Перезапис існуючих полів | Використовувати prefix або унікальні імена |
Не вказано container для assets |
Файли не прикріплюються, помилка "container not found" | Явно задати container: assets |
type: text для великих текстів |
Втрата форматування | Використовувати textarea або bard |
Наш досвід: понад 20 проектів на Statamic, включаючи інтернет-магазини, новинні портали та корпоративні сайти. Гарантуємо, що blueprint-схема буде гнучкою та масштабованою.
Приклад складного Bard-набору (тарифи)
sets: pricing: display: Тарифи fields: - handle: title field: type: text display: Назва тарифу - handle: price field: type: text display: Ціна - handle: features field: type: list display: Особливості - handle: highlighted field: type: toggle display: Виділити Зв'яжіться з нами — оцінимо ваш проект і запропонуємо оптимальну структуру полів за 1 день. Отримайте консультацію з міграції з інших CMS на Statamic. Документація Statamic







