إنشاء وإدارة التقويمات

:bookmark: يشرح هذا الدليل كيفية إنشاء وإدارة التقويمات في Discourse باستخدام إضافة التقويم (والأحداث) (Calendar (and Event)).

:person_raising_hand: مستوى المستخدم المطلوب: جميع المستخدمين

تُعد التقويمات ميزة قوية في Discourse تتيح لك تنظيم وعرض الأحداث داخل مجتمعك. سيرشدك هذا الدليل خلال عملية إنشاء التقويمات وإضافة الأحداث وإدارتها بفعالية.

الملخص

  • تفعيل إضافة التقويم (Calendar)
  • إنشاء تقويم في موضوع أو فئة
  • إضافة أحداث إلى التقويم الخاص بك
  • إدارة خيارات وإعدادات التقويم
  • استخدام ميزة تقويم العطلات

تفعيل إضافة التقويم (Calendar)

قبل أن تتمكن من إنشاء التقويمات، تأكد من تفعيل إضافة “التقويم (والأحداث)” (Calendar (and Event)) على مثيل Discourse الخاص بك. لمزيد من التفاصيل حول تفعيل الإضافة والإعدادات ذات الصلة، راجع وثائق إضافة التقويم والأحداث لـ Discourse.

إنشاء تقويم

تقويم الموضوع

لتضمين تقويم في موضوع:

  1. أنشئ موضوعًا جديدًا أو حرر المنشور الأول لموضوع موجود

  2. أضف الرمز التالي في أسطر منفصلة:

    [calendar]
    [/calendar]
    
  3. انشر المنشور أو قم بتحديثه


:information_source: يكون اليوم الأول من الأسبوع افتراضيًا هو يوم الاثنين، ولكن يمكن تهيئته باستخدام إعداد الموقع “first day of week calendar” (خيارات: السبت، الأحد، أو الاثنين).

تقويم الفئة

لإنشاء تقويم على مستوى الفئة:

  1. اذهب إلى /admin/site_settings/category/discourse_calendar?filter=plugin=discourse-calendar

  2. في إعداد “calendar categories”، أضف مدخلاً بالتنسيق التالي:

    categoryId=123;tzPicker;defaultView=month
    
    • استبدل 123 بمعرف الفئة الخاص بك (الموجود في عنوان URL عند عرض الفئة)
  3. أضف مُعرّف الفئة إلى إعداد “events calendar categories”

  4. اختياريًا، اضبط “discourse post event allowed on groups” للتحكم في المجموعات التي يمكنها إضافة أحداث

إضافة عناصر إلى التقويم

تقويم الموضوع

لإضافة حدث إلى تقويم موضوع:

  1. رد على الموضوع الذي يحتوي على التقويم
  2. افتح قائمة خيارات ⊕ في شريط أدوات المُنشئ واستخدم وظيفة “إدراج تاريخ / وقت” (Insert date / time) لإضافة تاريخ أو نطاق تاريخ
  3. أضف وصفًا فوق التاريخ
  4. أرسل الرد

سيظهر الحدث في التقويم بعد إعادة تحميل الموضوع.

تقويم الفئة

لإضافة حدث إلى تقويم فئة:

  1. أنشئ موضوعًا جديدًا في الفئة
  2. افتح قائمة خيارات ⊕ في شريط أدوات المُنشئ وحدد “إنشاء حدث” (Create event)
  3. املأ تفاصيل الحدث وانشر

سيظهر الحدث في تقويم الفئة.

خيارات التقويم

يمكنك تخصيص التقويم الخاص بك باستخدام خيارات مختلفة:

الخيار مثال الوصف
إخفاء عطلات نهاية الأسبوع weekends="false" يخفي يومي السبت والأحد
إخفاء أيام محددة hiddenDays="1,2" يخفي يومي الاثنين والثلاثاء (استخدم 0-6 للأحد-السبت)
تحديد العرض الافتراضي defaultView="month" الخيارات: month، week، listNextYear
تجاهل المناطق الزمنية fullDay="true" يعامل جميع الأحداث على أنها أحداث ليوم كامل

مثال على الاستخدام:

[calendar weekends="false" hiddenDays="1,2" defaultView="week" fullDay="true"]
[/calendar]

إزالة عناصر التقويم

يمكن إزالة عناصر التقويم بهذه الطرق:

  • يمكن إزالة عناصر التقويم المنتهية تلقائيًا باستخدام إعداد “delete expired event posts after”
  • استخدم مؤقتات الموضوع لحذف الردود تلقائيًا
  • حذف المشاركات يدويًا حسب الحاجة

تقويم العطلات

تقويم العطلات هو ميزة خاصة لإدارة إجازات موظفي الموقع:

  1. أنشئ موضوعًا به تقويم في المنشور الأول
  2. عيّن “holiday calendar topic id” إلى مُعرّف هذا الموضوع
  3. سيتم التعامل مع الردود على هذا الموضوع على أنها وقت إجازة للمستخدم الذي قام بالنشر
  4. يجب أن يحتوي كل رد على طابع تاريخ/وقت مضاف عبر وظيفة “إدراج تاريخ / وقت” في قائمة خيارات المُنشئ ⊕ ليظهر في التقويم
  5. يتم تلوين إدخالات الإجازة تلقائيًا وبشكل عشوائي
  6. يظهر رمز تعبيري (افتراضي: :date:) بجوار أسماء المستخدمين في الإجازة في بطاقات المستخدم والإشارات @
  7. اختياريًا، قم بتضمين العطلات الخاصة باللغة المحلية للمستخدمين عن طريق تفعيل “calendar automatic holidays enabled”

الأسئلة الشائعة (FAQs)

س: لماذا تبدو بعض الأحداث وكأنها تمتد لأيام متعددة؟
ج: التقويم دائمًا بتوقيت UTC. استخدم إعدادات “all day event start time” و “all day event end time” للضبط حسب اختلافات المنطقة الزمنية.

س: هل يمكنني التحكم في ألوان إدخالات التقويم؟
ج: بالنسبة لتقويمات الفئات والأحداث القادمة، يمكنك تعيين ألوان حسب العلامة أو الفئة باستخدام إعداد الموقع “map events to color”. يتم تلوين إدخالات تقويم العطلات تلقائيًا وبشكل عشوائي ولا يمكن تخصيصها.

س: كيف يمكنني عرض الأحداث السابقة في عرض القائمة؟
ج: هناك حاليًا خطأ عند استخدام defaultView=listNextYear يتسبب في أن يكون العرض الأولي فارغًا. كحل بديل، يحتاج المستخدمون إلى التبديل إلى عرض الشهر، والعودة شهرًا واحدًا، ثم العودة إلى عرض القائمة لرؤية الأحداث السابقة.

موارد إضافية

11 إعجابًا

أواجه صعوبة في فهم كيفية إنشاء تقويم بحيث يظهر في فئة، وماذا أفعل لملئه بمجرد وجوده. بالنسبة للمواضيع، الأمر واضح جدًا، لكن حالة الفئة أكثر غموضًا. هل يمكن لأحد أن يقدم مثالاً؟

إنشاء تقويم فئة

يختلف “تقويم الموضوع” عن “تقويم الفئة” في أن الأول يستخدم add date من استجابة موضوع معين، ويعرض التقويم في الموضوع نفسه، بينما يستخدم الأخير create event في أي موضوع في الفئة المكونة، ويعرض تقويم الأحداث في الفئة.

1. تمكين إضافة التقويم

في /admin/site_settings/category/discourse_calendar?filter=plugin%3Adiscourse-calendarcalendar categories:
تريد شيئًا مثل: categoryId=123;postId=4949;tzPicker;defaultView=month

  • categoryId سهل العثور عليه: إنه الرقم الموجود في عنوان URL عند النقر على #category
  • يمكن العثور على postId على النحو التالي: انتقل إلى وصف الفئة (الموضوع المثبت “حول الفئة”) وألحق .json بعنوان URL: postId في بداية ملف JSON.
  • راجع وثائق discourse-calendar لـ الخيارات المتاحة.
  • أضف الفئة (مرقمة 123 في مثالنا) إلى events calendar categories
    قد ترغب في تعيين discourse post event allowed on groups لتضمين المجموعات التي تريد أن تكون قادرة على إضافة أحداث.

2. إنشاء حدث

يمكنك إنشاء موضوع جديد في الفئة 123 و create event (من زر الترس).
سيظهر الحدث بعد ذلك في تقويم الفئة.

:tada:

إعجابَين (2)

هل هناك أي طريقة لعرض الأحداث الماضية بدلاً من الأحداث القادمة؟ نود الاستفادة من المكون الإضافي لقسم المجلة الخاص بنا وإدراج جميع الإدخالات السابقة في المنشور الأول.

عند استخدام المقتطف أدناه، تكون قائمة الأحداث فارغة في البداية. فقط عند العودة إلى العرض الشهري، والعودة شهرًا واحدًا، والعودة إلى عرض القائمة، فإنها تعمل.

[calendar defaultView=listNextYear fullDay=true]
[/calendar]

شاهد الخطأ أثناء العمل:
CleanShot 2024-05-07 at 14.08.49 2

6 إعجابات

أنا مهتم بهذه الوظيفة أيضًا.

أتساءل عما إذا كان قد تكون هناك أيضًا بعض نصوص مستكشف البيانات التي تتوافق مع البحث في التقويم.

3 إعجابات

عندما ينشر شخص ما في مجتمعي حدثًا تقويميًا، ثم يقوم مسؤول بتحرير هذا الحدث، فلماذا لم يعد المنشئ الأصلي قادرًا على التحرير؟

هذه مشكلة كبيرة تؤثر على مئات الأشخاص.

وضح أنه في الوقت الحالي يبدأ تقويم الموضوع يوم الاثنين فقط، وأن تقويم الفئة يبدأ يوم الأحد بدلاً من ذلك.

أود أن يكون هذا قابلاً للتكوين من قبل المسؤول، حيث يعرض كل منهما التقويم بشكل مختلف الآن…

3 إعجابات

أُفهم. هذا منطقي، لأنني لم أدرك–

لكي تكون العطلات مرئية في تقويم العطلات، تجدر الإشارة إلى أن الرد يجب أن يحتوي على طابع زمني تضيفه من قائمة المحررين.
أيضًا، كما ذكرنا سابقًا، يتم العثور على معرف المنشور عن طريق إضافة .json إلى عنوان URL للمنشور. أعتقد أنه يجب إضافة هذا إلى التوثيق هنا، حيث إذا كانت للفئات معرفاتها في عنوان URL، فإن معرف عنوان URL للموضوع سيربك الناس لأن رقمه قد يكون قريبًا ولكنه غير مشابه لمعرف الموضوع الحقيقي.

شكرًا لك على هذا الدليل على أي حال، هناك الكثير لتغطيته لأن هناك العديد من الميزات وهو أمر رائع، عمل رائع للمطورين!

آه، أعاد الذكاء الاصطناعي كتابة بعض المصطلحات “الحدث”. من الناحية المثالية، يجب تجنب هذا المصطلح في النصف “التقويم” من المستندات حتى لا يتم إنشاء غموض مع ميزة “الحدث” الإضافية للمكون الإضافي.

إعجاب واحد (1)

أريد أن أسأل أن الـ discourse الخاص بي لا يحتوي على زر التقويم والترس بعد تمكين المكون الإضافي، هل هناك خطأ ما؟

إعجاب واحد (1)

تم تغيير أيقونة الترس إلى منذ فترة. أعتقد أن إدراج التاريخ تم نقله إلى تلك القائمة المزيد (أعتقد أنها تستخدم أيضًا أيقونة الآن).

نقطة جيدة جدًا بالتأكيد. يبدو أن هذه الوثائق بحاجة إلى تحديث (ومن المحتمل أيضًا أن تكون هناك مواضيع أخرى لا تزال تشير إلى أيقونة الترس).

إعجاب واحد (1)

شكراً على الرد، ثم أدركت خطأ آخر متعلق بهذا. لدي هذه الأيقونة، لكنها أكبر وفي المكان الخطأ، مما يعيق الرؤية، كما ترى. إنها طبيعية على الهاتف، ولكن ليس على سطح المكتب. بالمناسبة، لا توجد تقويمات ولكن هناك أحداث في القائمة. ماذا يمكنني أن أفعل :pleading_face:

هل يصلح الوضع الآمن موضع أيقونة الزائد؟

أي زر تقويم تتوقع؟

هذا هو الآن

لدي زر الإدراج هذا، ثم كيف يمكنني نشر تقويم؟ لقد جربت الكود [calendar]، وهو يعمل، ولكن هل التاريخ/الوقت يشمل التقويم؟

بالنسبة للزر الكبير، جربت الوضع الآمن، وما زال الأمر كذلك. إعادة بناء التطبيق لا تعمل، هل يمكنني الأمل في أن يصلح الإصدار التالي هذا؟ :relieved_face: أو هناك شيء يمكنني فعله، بخلاف القيام بكل شيء مرة أخرى :rofl:

:man_zombie:

يبدو أن هذا الإعداد هو المشتبه به المحتمل:

image