الإعدادات (Settings)
مجلد settings/ يخزن ملفات JSON لتكوين القالب التي تتحكم في القيم الافتراضية والمخطط وترتيب القوالب.
الملفات في هذا المجلد
settings-schema.json: يحدد الحقول المتاحة المنظمة في مجموعات مع تسميات متعددة اللغات.settings-data.json: يحتفظ بالقيم الفعلية لكل حقل.templates-settings.json: يحدد ترتيب العرض للقوالب.
settings-schema.json
الإعدادات منظمة في مجموعات مع تسميات متعددة اللغات. كل مجموعة تحتوي على إعدادات متعددة:
[
{
"label": {
"ar": "الألوان",
"en": "Colors"
},
"settings": {
"mainColor": {
"type": "color",
"label": "اللون الرئيسي",
"default": "#003033"
},
"secondaryColor": {
"type": "color",
"label": "اللون الثانوي",
"default": "#f5f5f5"
}
}
},
{
"label": {
"ar": "شريط الإعلانات",
"en": "Announcement Bar"
},
"settings": {
"announcementEnabled": {
"type": "boolean",
"label": "تفعيل شريط الإعلانات",
"default": true
},
"announcementText": {
"type": "string",
"label": "نص الإعلان",
"default": "شحن مجاني للطلبات فوق 50$"
}
}
}
]
أنواع الإعدادات المتاحة
| النوع | الوصف | مثال |
|---|---|---|
string | إدخال نص سطر واحد | العناوين، الروابط |
boolean | مفتاح تبديل | تفعيل/تعطيل الميزات |
number | إدخال رقمي (يدعم min/max) | الأعداد، الأحجام |
color | منتقي الألوان | ألوان القالب |
css | محرر كود CSS | CSS مخصص |
javascript | محرر كود JavaScript | سكريبتات مخصصة |
media | منتقي وسائط/صور | الشعار، الصور |
products | منتقي منتجات | المنتجات المميزة |
menu | منتقي قوائم | قوائم التنقل |
settings-data.json
يخزن القيم الفعلية لكل مفتاح إعداد:
{
"mainColor": "#ff5733",
"announcementEnabled": true,
"announcementText": "مرحباً بكم في متجرنا!"
}
templates-settings.json
يحدد ترتيب العرض للقوالب في التخطيط:
{
"templates_order": ["header", "global", "main", "footer"]
}
استخدام الإعدادات في القوالب
الوصول لقيم الإعدادات في قوالب Nunjucks الخاصة بك:
<body style="--main-color: {{ settings.mainColor }};">
{% if settings.announcementEnabled %}
<div class="announcement">{{ settings.announcementText }}</div>
{% endif %}
</body>