يشرح هذا الدليل كيفية إنشاء وإدارة التقويمات في Discourse باستخدام المكون الإضافي Calendar (and Event).
مستوى المستخدم المطلوب: جميع المستخدمين
التقويمات هي ميزة قوية في Discourse تتيح لك تنظيم وعرض الأحداث داخل مجتمعك. سيرشدك هذا الدليل خلال عملية إنشاء التقويمات وإضافة الأحداث وإدارتها بفعالية.
ملخص
- تمكين المكون الإضافي Calendar
- إنشاء تقويم في موضوع أو فئة
- إضافة أحداث إلى تقويمك
- إدارة خيارات وإعدادات التقويم
- استخدام ميزة تقويم العطلات
تمكين المكون الإضافي Calendar
قبل أن تتمكن من إنشاء تقويمات، تأكد من تمكين المكون الإضافي “Calendar (and Event)” على مثيل Discourse الخاص بك. لمزيد من التفاصيل حول تمكين المكون الإضافي وإعداداته ذات الصلة، راجع وثائق المكون الإضافي Discourse Calendar and Event.
إنشاء تقويم
تقويم الموضوع
لتضمين تقويم في موضوع:
-
أنشئ موضوعًا جديدًا أو حرر المنشور الأول لموضوع موجود
-
أضف الرمز التالي على أسطر منفصلة:
[calendar] [/calendar] -
انشر أو حدث المنشور
يُعتبر يوم الاثنين اليوم الأول من الأسبوع في تقويمات Discourse، بغض النظر عن إعدادات الموقع الجغرافي للمشاهد. هذا غير قابل للتكوين حاليًا.
تقويم الفئة
لإنشاء تقويم على مستوى الفئة:
-
انتقل إلى
/admin/site_settings/category/discourse_calendar?filter=plugin=discourse-calendar -
في إعداد “calendar categories”، أضف إدخالًا بالتنسيق التالي:
categoryId=123;postId=4949;tzPicker;defaultView=month- استبدل
123بمعرف الفئة الخاص بك (موجود في عنوان URL عند عرض الفئة) - استبدل
4949بمعرف المنشور لوصف الفئة (يتم العثور عليه بإلحاق.jsonبعنوان URL لموضوع “About category”)
- استبدل
-
أضف معرف الفئة إلى إعداد “events calendar categories”
-
اختياريًا، قم بتعيين “discourse post event allowed on groups” للتحكم في المجموعات التي يمكنها إضافة أحداث
إضافة عناصر إلى تقويم
تقويم الموضوع
لإضافة حدث إلى تقويم موضوع:
- رد على الموضوع الذي يحتوي على التقويم
- استخدم وظيفة “Insert date / time” في قائمة الملحن (composer) \u003ckbd\u003e+\u003c/kbd\u003e لإضافة تاريخ أو نطاق تاريخ
- أضف وصفًا فوق التاريخ
- أرسل الرد
سيظهر الحدث في التقويم بعد إعادة تحميل الموضوع.
تقويم الفئة
لإضافة حدث إلى تقويم فئة:
- أنشئ موضوعًا جديدًا في الفئة
- انقر فوق زر الترس واختر “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 يتسبب في أن يكون العرض الأولي فارغًا. كحل بديل، يحتاج المستخدمون إلى التبديل إلى العرض الشهري، والعودة شهرًا واحدًا، ثم العودة إلى عرض القائمة لرؤية الأحداث السابقة.







