Як налаштовувати Collections та Entries в Statamic
Коли контент сайту розростається до сотень сторінок, управління ними перетворюється на хаос. Collections у Statamic — це не просто аналог Post Types у WordPress, а гнучка система організації контенту. Наприклад, інтернет-магазин з 5000 товарів, 200 категорій і сотнями акцій — без правильної архітектури колекцій підтримка такого обсягу даних стає пеклом. Ми налаштовуємо їх так, щоб ви легко знаходили та редагували будь-який запис, а відвідувачі бачили гарні URL. Налаштування 3–5 колекцій з правильними маршрутами та таксономіями займає від 4 до 8 годин, що в 3 рази швидше, ніж аналогічне налаштування через WordPress Custom Post Types та плагіни. Правильна архітектура дозволяє скоротити час розробки складних систем управління контентом на 40%, а бюджет проєкту — на 30%. Вартість послуг: від 8000 грн до 15000 грн за проєкт.
Як Statamic Collections вирішують проблему структури контенту?
Collections — основна одиниця організації контенту в Statamic. Вони визначають URL-структуру, порядок, деревоподібність та Blueprint для кожного типу записів. На відміну від WordPress Post Types, тут немає жорстких обмежень: ви самі вирішуєте, які поля, маршрути та поведінка будуть у кожної колекції. Як сказано в документації: > "Collections define the URL structure, order, and blueprint" — Statamic Docs.
Створення колекції починається з команди php artisan statamic:make:collection blog або php artisan statamic:make:collection pages --structure для ієрархічних. Після створення налаштуйте конфіг у content/collections/blog.yaml:
title: Blog template: blog/show layout: layout date: true date_behavior: past: public future: private # приховуємо відкладені публікації sort_field: date sort_direction: desc paginate: 12 slugs: true propagate: false routes: '/blog/{slug}' Для багаторівневого контенту (документація, каталог) використовуйте прапорець --structure. У конфігу вкажіть routes: '/{parent_uri}/{slug}' та додайте секцію structure:
structure: root: true max_depth: 3 tree: true В одному з проєктів ми зіткнулися з необхідністю організувати багаторівневу документацію для SaaS-продукту. Використання структурованої колекції дозволило створити ієрархію до 3 рівнів вкладеності, а також автоматично генерувати хлібні крихти та меню. У результаті час виходу на ринок скоротився на 2 тижні, а час завантаження сторінок документації покращився на 20% завдяки кешуванню. Економія бюджету на цьому проєкті склала близько 35%.
Як працювати з Entries: від YAML до PHP API
Entries — це конкретні записи всередині колекції. Кожен запис — файл .md з YAML-фронтматером. Приклад:
# content/collections/blog/my-first-post.md --- id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 title: My First Post slug: my-first-post template: blog/show blueprint: post published: true categories: - key: web-development featured_image: assets/images/hero.jpg excerpt: Short description of the post --- Content of the post in Markdown. Запити в шаблонах (Antlers)
{{ collection:blog status:is="published" sort="date:desc" limit="6" taxonomy:categories="web-development" }} {{ results }} {{ partial:blog/post-card :post="this" }} {{ /results }} {{ /collection:blog }} PHP-запити через API
use Statamic\Facades\Entry; $posts = Entry::query() ->where('collection', 'blog') ->where('status', 'published') ->orderBy('date', 'desc') ->limit(10) ->get(); $post = Entry::query() ->where('collection', 'blog') ->where('slug', $slug) ->first(); Локалізація контенту також проста: для кожної колекції увімкніть поле sites у конфігу. Це дозволяє зберігати переклади в окремих файлах і керувати ними через Control Panel. У проєкті з 10 колекціями та 5 мовами локалізація скоротила час на створення контенту на 35%.
Отримайте консультацію з налаштування колекцій — оцінимо ваш проєкт протягом дня.
Чому таксономії важливі для навігації?
Taxonomies (категорії та теги) допомагають групувати записи та покращують навігацію. Вони задають свою URL-структуру та можуть бути прив'язані до кількох колекцій. Налаштування таксономії категорій: створіть файл content/taxonomies/categories.yaml із зазначенням маршруту та прив'язаних колекцій. У шаблонах виводьте список категорій з кількістю записів, використовуючи тег {{ taxonomy:categories }}.
Приклад таксономії для блогу: категорії web-development, design, devops. Кожна категорія має свою сторінку /categories/web-development, на якій виводяться записи з колекції blog. Це покращує SEO та спрощує користувацьку навігацію. За нашим досвідом, впровадження таксономій збільшило перегляди сторінок на 15%.
Порівняння типів колекцій
| Характеристика | Звичайна колекція | Структурована колекція |
|---|---|---|
| Ієрархія | Плоска | Деревоподібна (до 3 рівнів) |
| URL | /{slug} |
/{parent_uri}/{slug} |
| Для чого | Блог, новини | Документація, каталог |
| Сортування | За датою або полем | Вручну через перетягування |
Порівняння з WordPress Custom Post Types
| Характеристика | Statamic Collections | WordPress CPT |
|---|---|---|
| Гнучкість | Висока: будь-які поля, маршрути | Обмежена: метабокси, таксономії за замовчуванням |
| Швидкість налаштування | 1–2 години на колекцію | 3–4 години з плагінами |
| URL-структура | Повний контроль через YAML | Залежить від налаштувань пермалінків |
Statamic налаштовується в 3 рази швидше, а кожна колекція — це окремий файл конфігурації без бази даних. Детальніше про формат конфігів читайте в офіційній документації Statamic.
Що входить в роботу
- Аналіз типів контенту та проєктування структури колекцій і таксономій.
- Створення Blueprint’ів з потрібними полями та валідацією.
- Налаштування маршрутів, дат та поведінки публікації.
- Інтеграція з шаблонами Antlers та PHP-запитами.
- Документація за структурою, доступ до Git-репозиторію та навчання команди.
- Місяць підтримки після здачі.
Терміни та вартість
Налаштування 3–5 колекцій з правильними маршрутами та таксономіями — від 4 до 8 годин. Вартість: від 8000 грн до 15000 грн залежно від складності. У нас більше 5 років досвіду роботи зі Statamic та Laravel — гарантуємо якість і дотримання термінів. Якщо вам потрібна допомога — зв'яжіться з нами, оцінимо проєкт протягом дня. Отримайте консультацію з вашого проєкту.







