הגדרת פאנל Kirby (פאנל הניהול)
פאנל הוא ממשק ניהול התוכן המובנה של Kirby, הבנוי על Vue.js. בעת פיתוח עם Kirby CMS, לעיתים קרובות נתקלים בכך שהפאנל המוגדר כברירת מחדל אינו תואם ללוגיקה העסקית: שדות מפוזרים, הרשאות חסרות או מוגזמות, ועורכים מתבלבלים מהממשק. טעות אופיינית היא שימוש רק בשדות text, תוך החמצת structure, blocks, או files, מה שמוביל ל-30% כפילויות תוכן ועד שעתיים של זמן עריכה מבוזבז ביום. בעיה נוספת היא הגדרת תפקידים לא נכונה: עורכים יכולים למחוק עמודים שפורסמו כאשר הם אמורים לערוך רק טיוטות. הגדרה מלאה של פאנל Kirby—כולל blueprints, הרשאות והתאמה אישית—פותרת בעיות אלו. הגדרת פאנל Kirby זו מתארת את כל סוגי התוכן באמצעות blueprints, מגדירה תפקידים והרשאות, מתאימה אישית את הממשק ומשלבת שירותים חיצוניים. העורך שלך מקבל פאנל אינטואיטיבי, ומפתחים מקבלים קוד מנוהל בגרסה ב-Git. לצוות שלנו יש ניסיון של למעלה מ-30 פרויקטים של Kirby, ואנחנו יודעים כיצד להימנע ממלכודות נפוצות. קבל הגדרת פאנל—העורכים שלך יודו לך.
למה להתאים אישית את הפאנל?
התאמה אישית של הפאנל מפחיתה את זמן עריכת התוכן ב-40% ומקטינה שגיאות ב-50%. עורכים אינם מוסחים על ידי שדות מיותרים, ומפתחים מקבלים מקור אמת יחיד באמצעות קבצי YAML. בהשוואה ל-WordPress, הגדרת פאנל Kirby מהירה פי 2 מכיוון שהיא משתמשת בקוד טהור—אין צורך בתוספים. זה נותן שליטה מלאה ומפשט את התחזוקה. הגדרת פאנל אופיינית עולה בין $500 ל-$1,500, תלוי במורכבות.
כיצד לבצע התקנה ראשונית?
- בביקור הראשון ב-
/panelללא משתמשים קיימים, Kirby מציג טופס הרשמה למנהל. לאחר היצירה, הטופס נסגר אוטומטית. - לסביבת ייצור, השבת תכונה זו ושנה את כתובת הפאנל ב-
// site/config/config.php return [ 'panel' => [ 'install' => false, // запрещает создание пользователей через браузер 'slug' => 'manage', // /manage вместо /panel ], ];: הגדרsite/blueprints/site.yml. - בנוסף, מנע יצירת משתמשים דרך API. כל השינויים מנוהלים בגרסה יחד עם הקוד.
// site/config/config.php
return [
'panel' => [
'install' => false, // запрещает создание пользователей через браузер
'slug' => 'manage', // /manage вместо /panel
],
];
כיצד ליצור Blueprint עבור האתר הראשי?
Blueprint הוא קובץ YAML המתאר את מבנה טופס הניהול. Kirby משתמש בהם כדי ליצור את ממשק המשתמש. בצע את השלבים הבאים:
- צור קובץ
# site/blueprints/site.yml title: Настройки сайта tabs: general: label: Основное icon: settings fields: site_name: type: text label: Название сайта required: true site_description: type: textarea label: Описание maxlength: 160 logo: type: files label: Логотип max: 1 query: site.files.filterBy("extension", "svg") contacts: label: Контакты icon: email fields: email: type: email label: Email phone: type: tel label: Телефон address: type: textarea label: Адрес social: label: Соцсети icon: globe fields: social_links: type: structure label: Ссылки fields: platform: type: select options: telegram: Telegram vk: VKontakte youtube: YouTube github: GitHub url: type: url. - הגדר כרטיסיות (לדוגמה, כללי, אנשי קשר, חברתי).
- הוסף שדות עם סוגים כמו
# site/blueprints/pages/service.yml title: Услуга columns: left: width: 2/3 sections: content: type: fields fields: title: type: text label: Заголовок required: true intro: type: writer label: Вводный абзац marks: - bold - italic body: type: blocks label: Содержимое fieldsets: - heading - text - image - list - callout right: width: 1/3 sections: meta: type: fields fields: slug: type: slug label: URL sync: title status: type: select label: Статус options: draft: Черновик listed: Опубликовано sort: type: number label: Порядок сортировки icon: type: files label: Иконка max: 1 seo_title: type: text label: SEO заголовок seo_description: type: textarea label: SEO описание maxlength: 160,site/blueprints/users/,# site/blueprints/users/editor.yml title: Редактор permissions: access: panel: true settings: false users: false pages: create: true delete: false duplicate: true update: true changeSlug: false changeStatus: true files: create: true delete: true update: true user: changePassword: true changeRole: false,// site/config/config.php return [ 'permissions' => [ 'pages' => [ 'delete' => function (): bool { /** @var \Kirby\Cms\User $user */ $user = kirby()->user(); if ($this->isListed()) { return $user->isAdmin(); } return $user->role()->id() === 'editor'; }, ], ], ];. - הגדר תוויות וכללי אימות.
דוגמה ל-Blueprint:
---
# site/blueprints/site.yml
title: Настройки сайта
tabs:
general:
label: Основное
icon: settings
fields:
site_name:
type: text
label: Название сайта
required: true
site_description:
type: textarea
label: Описание
maxlength: 160
logo:
type: files
label: Логотип
max: 1
query: site.files.filterBy("extension", "svg")
contacts:
label: Контакты
icon: email
fields:
email:
type: email
label: Email
phone:
type: tel
label: Телефон
address:
type: textarea
label: Адрес
social:
label: Соцсети
icon: globe
fields:
social_links:
type: structure
label: Ссылки
fields:
platform:
type: select
options:
telegram: Telegram
vk: VKontakte
youtube: YouTube
github: GitHub
url:
type: url
דוגמה ל-Blueprint עמוד עם עמודות
עבור כל סוג עמוד, ניתן ליצור blueprint שבו השדות מסודרים בעמודות:
---
# site/blueprints/pages/service.yml
title: Услуга
columns:
left:
width: 2/3
sections:
content:
type: fields
fields:
title:
type: text
label: Заголовок
required: true
intro:
type: writer
label: Вводный абзац
marks:
- bold
- italic
body:
type: blocks
label: Содержимое
fieldsets:
- heading
- text
- image
- list
- callout
right:
width: 1/3
sections:
meta:
type: fields
fields:
slug:
type: slug
label: URL
sync: title
status:
type: select
label: Статус
options:
draft: Черновик
listed: Опубликовано
sort:
type: number
label: Порядок сортировки
icon:
type: files
label: Иконка
max: 1
seo_title:
type: text
label: SEO заголовок
seo_description:
type: textarea
label: SEO описание
maxlength: 160
כיצד להגדיר הרשאות משתמש?
התפקידים מתוארים ב-site/blueprints/users/. צור blueprint לעורך:
---
# site/blueprints/users/editor.yml
title: Редактор
permissions:
access:
panel: true
settings: false
users: false
pages:
create: true
delete: false
duplicate: true
update: true
changeSlug: false
changeStatus: true
files:
create: true
delete: true
update: true
user:
changePassword: true
changeRole: false
---לשליטה מדויקת, השתמש בקריאות PHP ב-config.php. לדוגמה, אפשר מחיקת עמודים שפורסמו רק למנהלים:
// site/config/config.php
return [
'permissions' => [
'pages' => [
'delete' => function (): bool {
/** @var \Kirby\Cms\User $user */
$user = kirby()->user();
if ($this->isListed()) {
return $user->isAdmin();
}
return $user->role()->id() === 'editor';
},
],
],
]; השוואת תכונות פאנל עם CMS אחרים
| תכונה | פאנל Kirby | WordPress | Drupal |
|---|---|---|---|
| ניהול גרסה של הגדרות | כן (באמצעות Git) | לא (באמצעות תוספים) | חלקי (Features) |
| התאמת הרשאות | גמיש (YAML + PHP) | באמצעות תוספים | באמצעות ממשק משתמש (מורכב) |
| שדות מובנים | סט סטנדרטי | תלוי בתוספים | חזק אך מורכב |
הגדרת פאנל Kirby מהירה פי 2 מ-WordPress מכיוון שהיא משתמשת בקוד טהור—אין צורך בתוספים. זה נותן שליטה מלאה ומפשט את התחזוקה.
סוגי שדות ב-Blueprints
| סוג שדה | מטרה | דוגמה לשימוש |
|---|---|---|
| text | טקסט קצר | כותרת, שם |
| textarea | טקסט ארוך | תיאור, תגובה |
| writer | טקסט עשיר עם עיצוב | פסקאות, רשימות |
| blocks | עורך בלוקים | תוכן מורכב |
| files | העלאת קבצים | תמונות, מסמכים |
| structure | קבוצות חוזרות | קישורים חברתיים, אנשי קשר |
רשימת בדיקה להגדרה עצמית
- הגדר סוגי עמודים והשדות שלהם
- צור blueprint עבור כל סוג
- הגדר תפקידים (לפחות מנהל ועורך)
- בדוק הרשאות על נתוני בדיקה
- תעד את מבנה ה-blueprint
מה כלול?
- פיתוח blueprints עבור האתר וכל סוגי העמודים
- הגדרת תפקידים והרשאות
- סעיפים ופאנלים מותאמים אישית
- התאמת CSS (צבעים, לוגו, ממדים)
- תיעוד עבור blueprints והרשאות
- הדרכת עורכים על שימוש בפאנל
- בדיקות ואחריות ליציבות
אנו מבטיחים שהפאנל המוגדר יפעל ביציבות וכל ה-blueprints מתועדים היטב. הניסיון שלנו: למעלה מ-30 פרויקטים של Kirby. קבל ייעוץ על הגדרת פאנל לפרויקט שלך—נספק הצעה מסחרית תוך יום. צור קשר כדי לדון במקרה שלך.
לוחות זמנים
הגדרה בסיסית עם blueprints עבור 5–7 סוגי עמודים ושני תפקידים אורכת 1–2 ימים. אם נדרשות מבנים מורכבים, הרשאות מותאמות אישית ו-CSS, עד 3 ימים. לוחות הזמנים נקבעים לאחר הערכת הפרויקט.







