يشرح هذا الدليل كيفية إنشاء وإدارة التقاويم في ديسكورس (Discourse) باستخدام إضافة التقويم (والأحداث) (Calendar (and Event)).
مستوى المستخدم المطلوب: جميع المستخدمين
تُعد التقاويم ميزة قوية في ديسكورس (Discourse) تتيح لك تنظيم وعرض الأحداث داخل مجتمعك. سيرشدك هذا الدليل خلال عملية إنشاء التقاويم، وإضافة الأحداث، وإدارتها بفعالية.
الملخص
- تمكين إضافة التقويم
- إنشاء تقويم في موضوع أو فئة
- إضافة أحداث إلى التقويم الخاص بك
- إدارة خيارات وإعدادات التقويم
- استخدام ميزة تقويم العطلات
تمكين إضافة التقويم
قبل أن تتمكن من إنشاء التقاويم، تأكد من تمكين إضافة “التقويم (والأحداث)” (Calendar (and Event)) على مثيل ديسكورس (Discourse) الخاص بك. لمزيد من التفاصيل حول تمكين الإضافة وإعداداتها ذات الصلة، راجع وثائق إضافة التقويم والأحداث لـ ديسكورس (Discourse Calendar and Event plugin documentation.
إنشاء تقويم
تقويم الموضوع
لتضمين تقويم في موضوع:
-
أنشئ موضوعًا جديدًا أو حرر المنشور الأول لموضوع موجود
-
أضف الكود التالي في أسطر منفصلة:
[calendar] [/calendar] -
انشر المنشور أو حدثه
يُعتبر يوم الاثنين هو اليوم الأول من الأسبوع في تقاويم ديسكورس (Discourse)، بغض النظر عن إعدادات الموقع الجغرافي للمشاهد. هذا غير قابل للتكوين حاليًا.
تقويم الفئة
لإنشاء تقويم على مستوى الفئة:
-
انتقل إلى
/admin/site_settings/category/discourse_calendar?filter=plugin=discourse-calendar -
في إعداد “فئات التقويم” (calendar categories)، أضف إدخالًا بالتنسيق التالي:
categoryId=123;tzPicker;defaultView=month- استبدل
123بمعرف الفئة الخاص بك (يوجد في عنوان URL عند عرض الفئة)
- استبدل
-
أضف معرف الفئة إلى إعداد “فئات تقويم الأحداث” (events calendar categories)
-
اختياريًا، اضبط “السماح بإضافة أحداث منشورات ديسكورس للمجموعات” (discourse post event allowed on groups) للتحكم في المجموعات التي يمكنها إضافة أحداث
إضافة عناصر إلى تقويم
تقويم الموضوع
لإضافة حدث إلى تقويم موضوع:
- رد على الموضوع الذي يحتوي على التقويم
- استخدم وظيفة “إدراج تاريخ / وقت” (Insert date / time) في قائمة القائمة المنسدلة للمُنشئ + لإضافة تاريخ أو نطاق تاريخ
- أضف وصفًا فوق التاريخ
- أرسل الرد
سيظهر الحدث في التقويم بعد إعادة تحميل الموضوع.
تقويم الفئة
لإضافة حدث إلى تقويم فئة:
- أنشئ موضوعًا جديدًا في الفئة
- انقر على زر الترس (gear button) وحدد “إنشاء حدث” (Create event)
- املأ تفاصيل الحدث وانشر
سيظهر الحدث في تقويم الفئة.
خيارات التقويم
يمكنك تخصيص التقويم الخاص بك باستخدام خيارات مختلفة:
| الخيار | مثال | الوصف |
|---|---|---|
| إخفاء عطلات نهاية الأسبوع | weekends="false" |
إخفاء السبت والأحد |
| إخفاء أيام محددة | hiddenDays="1,2" |
إخفاء الاثنين والثلاثاء (استخدم 0-6 للأحد-السبت) |
| تعيين العرض الافتراضي | defaultView="basicWeek" |
الخيارات: month، basicWeek، listNextYear |
| تجاهل المناطق الزمنية | fullDay="true" |
التعامل مع جميع الأحداث كأحداث ليوم كامل |
مثال على الاستخدام:
[calendar weekends="false" hiddenDays="1,2" defaultView="basicWeek" fullDay="true"]
[/calendar]
إزالة عناصر التقويم
يمكن إزالة عناصر التقويم بهذه الطرق:
- يمكن إزالة عناصر التقويم المنتهية تلقائيًا باستخدام إعداد “حذف منشورات الأحداث المنتهية بعد” (delete expired event posts after)
- استخدم مؤقتات الموضوع لحذف الردود تلقائيًا
- احذف المنشورات يدويًا حسب الحاجة
تقويم العطلات
تقويم العطلات هو ميزة خاصة لإدارة عطلات موظفي الموقع:
- أنشئ موضوعًا يحتوي على تقويم في المنشور الأول
- عيّن “معرف موضوع تقويم العطلات” (holiday calendar topic id) ليكون معرف هذا الموضوع
- ستُعامل الردود على هذا الموضوع كوقت إجازة للمستخدم الذي نشرها
- يتم تلوين إدخالات الإجازة تلقائيًا وبشكل عشوائي
- يظهر رمز تعبيري (الافتراضي:
) بجوار أسماء المستخدمين في إجازة في بطاقات المستخدمين والإشارات (@mentions) - اختياريًا، قم بتضمين العطلات الخاصة بمنطقة المستخدم الجغرافية عن طريق تمكين “تمكين العطلات التلقائية للتقويم” (calendar automatic holidays enabled)
الأسئلة الشائعة
س: لماذا تبدو بعض الأحداث ممتدة على أيام متعددة؟
ج: التقويم دائمًا بتوقيت UTC. استخدم إعدادات “وقت بدء حدث اليوم الكامل” (all day event start time) و “وقت انتهاء حدث اليوم الكامل” (all day event end time) للتكيف مع اختلافات المنطقة الزمنية.
س: هل يمكنني التحكم في ألوان إدخالات تقويم العطلات؟
ج: حاليًا، ليس من الممكن التحكم في ألوان إدخالات تقويم العطلات أو الحصول على إدخالات ملونة في التقاويم العادية.
س: كيف أعرض الأحداث السابقة في عرض القائمة؟
ج: هناك خطأ حاليًا عند استخدام defaultView=listNextYear يتسبب في أن يكون العرض الأولي فارغًا. كحل بديل، يحتاج المستخدمون إلى التبديل إلى عرض الشهر، والعودة شهرًا واحدًا، ثم العودة إلى عرض القائمة لرؤية الأحداث السابقة.







