כאשר התוכן של האתר שלך גדל למאות עמודים, הניהול שלו הופך לכאוס. הגדרת Collections ו-Entries ב-Statamic אינה רק אנלוגיה ל-Post Types בוורדפרס – זוהי מערכת גמישה לארגון תוכן. לדוגמה, אתר מסחר אלקטרוני עם 5,000 מוצרים, 200 קטגוריות ו-100 מבצעים – ללא ארכיטקטורת Collections נכונה, תמיכה בכמות נתונים כזו הופכת לסיוט. אנו מגדירים אותם כך שתוכל למצוא ולערוך כל Entry בקלות, והמבקרים יראו כתובות URL נקיות. הגדרת Collections ו-Entries ב-Statamic היא המפתח לארכיטקטורת תוכן גמישה. הגדרת 3–5 Collections עם Routes ו-Taxonomies נכונים אורכת 4 עד 8 שעות – פי שלושה מהר יותר מהגדרה מקבילה עם WordPress Custom Post Types ותוספים. ארכיטקטורה נכונה יכולה להפחית את זמן הפיתוח עבור מערכות ניהול תוכן מורכבות ב-40% (מ-40 שעות ל-24 שעות) ואת תקציב הפרויקט ב-30% (חיסכון של כ-$3,000 על פרויקט של $10,000).
כיצד Collections של Statamic פותרים בעיות מבנה תוכן
Collections הם יחידת ארגון התוכן העיקרית ב-Statamic. הם מגדירים את מבנה ה-URL, הסדר, התנהגות העץ וה-Blueprint עבור כל סוג Entry. בניגוד ל-WordPress Post Types, אין אילוצים נוקשים: אתה מחליט אילו שדות, Routes והתנהגויות יהיו לכל Collection. כפי שנכתב בתיעוד: > "Collections מגדירים את מבנה ה-URL, הסדר וה-Blueprint" — Statamic Docs.
יצירת Collection מתחילה עם php artisan statamic:make:collection blog או php artisan statamic:make:collection pages --structure עבור אלו היררכיים. לאחר היצירה, הגדר את קובץ ה-YAML ב-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}'
---עבור תוכן רב-רמות (תיעוד, קטלוגים), השתמש בדגל 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: root: true max_depth: 3 tree: true בפרויקט אחד, נדרשנו לארגן תיעוד רב-רמות עבור מוצר SaaS. שימוש ב-Structured Collection אפשר היררכיה של עד 3 רמות, פירורי לחם אוטומטיים ויצירת תפריט. כתוצאה מכך, זמן היציאה לשוק קוצר בשבועיים, וזמני טעינת העמודים השתפרו ב-20% הודות ל-caching. החיסכון בתקציב בפרויקט זה הגיע לכ-35% (חיסכון של למעלה מ-$4,000).
עבודה עם Entries: מ-YAML ל-PHP API
Entries הם הרשומות בפועל בתוך Collection. כל Entry הוא קובץ structure עם YAML front matter. דוגמה:
---
# 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();
לוקליזציה של תוכן היא גם פשוטה: הפעל את השדה structure: root: true max_depth: 3 tree: true בהגדרות ה-Collection. זה מאחסן תרגומים בקבצים נפרדים ומאפשר ניהול דרך לוח הבקרה. בפרויקט עם 10 Collections ו-5 שפות, הלוקליזציה הפחיתה את זמן יצירת התוכן ב-35%.
קבל ייעוץ על הגדרת Collections – נבחן את הפרויקט שלך תוך יום.
למה Taxonomies חשובות לניווט
Taxonomies (קטגוריות ותגיות) עוזרות לקבץ Entries ולשפר את הניווט. הן מגדירות מבנה URL משלהן וניתן לחבר אותן למספר Collections. כדי להגדיר קטגוריה: צור קובץ .md עם Route ו-Collections מקושרים. בתבניות, הצג את רשימת הקטגוריות עם ספירת Entries באמצעות התג # 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. .
דוגמה לבלוג: קטגוריות {{ collection:blog status:is="published" sort="date:desc" limit="6" taxonomy:categories="web-development" }} {{ results }} {{ partial:blog/post-card :post="this" }} {{ /results }} {{ /collection:blog }} , 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. לכל קטגוריה יש עמוד משלה content/taxonomies/categories.yaml המציג Entries מה-Collection {{ taxonomy:categories }}. זה משפר את ה-SEO ומפשט את הניווט למשתמשים. מניסיוננו, יישום Taxonomies הגדיל את צפיות העמודים ב-15% והפחית את שיעור הנטישה ב-10%.
השוואת סוגי Collections
| תכונה | Collection רגיל | Collection מובנה |
|---|---|---|
| היררכיה | שטוחה | עץ (עד 3 רמות) |
| URL | web-development |
design |
| שימוש אופייני | בלוג, חדשות | תיעוד, קטלוג |
| מיון | לפי תאריך או שדה | ידני באמצעות גרירה ושחרור |
השוואה עם WordPress Custom Post Types
| תכונה | Statamic Collections | WordPress CPT |
|---|---|---|
| גמישות | גבוהה: כל שדות, Routes | מוגבלת: meta boxes, Taxonomies ברירת מחדל |
| מהירות הגדרה | 1–2 שעות לכל Collection | 3–4 שעות עם תוספים |
| מבנה URL | שליטה מלאה דרך YAML | תלוי בהגדרות permalink |
Statamic מהיר פי 3 להגדרה, וכל Collection הוא קובץ הגדרות YAML נפרד ללא מסד נתונים. למידע נוסף על פורמט ההגדרות, ראה את התיעוד הרשמי של Statamic.
היקף העבודה
- ניתוח סוגי תוכן ועיצוב מבנה Collections ו-Taxonomies.
- יצירת Blueprints עם שדות נדרשים ואימות.
- הגדרת Routes, תאריכים והתנהגות פרסום.
- אינטגרציה עם תבניות Antlers ושאילתות PHP.
- תיעוד המבנה, גישה ל-Git repository והדרכת צוות.
- חודש תמיכה לאחר המסירה.
לוחות זמנים ועלות
הגדרת 3–5 Collections עם Routes ו-Taxonomies נכונים – בין 4 ל-8 שעות. העלות מחושבת באופן אישי לפי מורכבות – פרויקטים טיפוסיים נעים בין $800 ל-$1,500. יש לנו ניסיון של למעלה מ-5 שנים עם Statamic ו-Laravel – אנו מבטיחים איכות ועמידה בלוחות זמנים. אם אתה זקוק לעזרה, צור קשר – נבחן את הפרויקט שלך תוך יום. קבל ייעוץ על הפרויקט שלך.







