قوائم الشريط الجانبي لمجموعات Discourse

:information_source: ملخص إنشاء قوائم شريط جانبي مخصصة يقتصر الوصول إليها على مجموعات مختارة
:eyeglasses: معاينة انضم إلى مجموعة منشئ الثيمات ثم عاين هنا
:hammer_and_wrench: المستودع \u003chttps://github.com/Lillinator/discourse-group-sidebar-menus\u003e
:question: دليل التثبيت كيفية تثبيت ثيم أو مكون ثيم
:open_book: جديد في ثيمات Discourse؟ دليل المبتدئين لاستخدام ثيمات Discourse

تثبيت مكون الثيم هذا

:woman_technologist:t2: نظرة عامة

يمنح مكون ثيم Discourse هذا مسؤولي المنتدى القدرة على إنشاء قوائم شريط جانبي مخصصة لا يمكن الوصول إليها إلا لأعضاء المجموعات المحددة.

الميزات الرئيسية:

  • التحكم في الوصول المستند إلى المجموعة - يتم عرض أقسام القائمة فقط للمستخدمين المصرح لهم
  • تكوين واجهة مسؤول النظام - جميع إعدادات إنشاء أقسام قوائم المجموعات موجودة في واجهة مسؤول مكون الثيم
  • أقسام متعددة - إنشاء عدد غير محدود من أقسام القائمة لمجموعات مختلفة (في حدود المعقول)
  • أمان جانب العميل - لا يمكن للمستخدمين غير المصرح لهم رؤية أقسام القائمة في DOM أو مفتش الويب أو الوضع الآمن
  • لا يوجد تلوث عام - لا يتطلب إنشاء أقسام شريط جانبي عامة
  • رابط تعديل سريع للمسؤول - أيقونة القلم في رؤوس القائمة توجه المسؤولين مباشرة إلى إعدادات المكون

:briefcase: حالات الاستخدام

  • موارد الموظفين والروابط السريعة
  • اختصارات مشرفي الفئات
  • بوابات مجموعات مخصصة (فرق المشاريع، مجموعات الدراسة، نوادي الكتب، الأعضاء المميزون)
  • روابط لموارد مواقع الويب الرئيسية أو الشريكة

:gear: الإعدادات

أقسام القائمة (menu_sections)

يفتح محرر إعدادات الكائنات لتكوين أقسام قوائم مجموعات مخصصة.

خصائص القسم

الخاصية الوصف
عنوان القائمة العنوان المعروض كرأس لقسم الشريط الجانبي
المجموعات المسموح بها المجموعات المصرح لها بعرض قسم القائمة هذا (الحد الأقصى: 20 مجموعة لكل قسم)
روابط القائمة مجموعة الروابط المراد عرضها في هذا القسم (الحد الأقصى: 20 رابطًا لكل قسم)

خصائص الرابط

الخاصية الوصف
أيقونة اسم أيقونة FontAwesome (على سبيل المثال، circle-info، star، user-group). قد تحتاج إلى إضافتها إلى Admin \u003e All site settings \u003e svg icon subset
نص تسمية العرض للرابط
URL وجهة الرابط - يدعم المسارات النسبية (/faq، /my/preferences) وعناوين URL المطلقة (https://example.com)

:wrench: التثبيت والتكوين

  1. قم بتثبيت مكون الثيم وفقًا لـ Installing a theme or theme component.
  2. انتقل إلى محرر إعدادات الكائنات
  3. انقر فوق الزر + new_menu_section لإعداد قسم قائمة مخصص أول
  4. امنح القائمة الجديدة عنوانًا في حقل عنوان القائمة، ثم حدد المجموعات التي تريد أن يكون لها حق الوصول إليها.
  5. انقر فوق الزر + new_menu_section لإضافة قسم آخر، أو احفظ التغييرات.
لقطات شاشة تكوين المسؤول مع إعداد مثال

تثبيت جديد - انتقل إلى محرر إعدادات الكائنات.

مثال سيناريو مع قائمتين مخصصتين و 3 مستخدمين، أحدهم مسؤول:

  • @Catra تحب القطط وهي عضو في مجموعة pink، والتي سيكون لها حق الوصول إلى قائمة القطط :grinning_cat:
  • @HelloKitty تحب الكلاب وهي عضو في مجموعة purple، والتي سيكون لها حق الوصول إلى قائمة الكلاب :dog_face:
  • @Lilly هي عضو في مجموعة purple لأنها تمتلك كلبًا والكلاب أفضل. ومع ذلك، هي أيضًا مسؤولة في المنتدى، وسيكون للمسؤولين حق الوصول إلى قائمة القطط لأن القطط تحتاج إلى مزيد من الإشراف :dog_face: :cat_with_wry_smile:

أنشئ قائمة مخصصة جديدة - لمثالنا، أنشئ قائمة القطط وأضف المجموعات المسموح لها بالوصول إليها - pink و admins. ثم انقر فوق الزر + menu_link لإعداد الروابط لهذه القائمة الجديدة.

أضف روابط القائمة - 1. اسم أيقونة Fontawesome، 2. النص المراد عرضه للرابط، و 3. عنوان URL، نسبي أو مطلق. انقر فوق الزر + menu_link لإضافة رابط آخر إلى هذه القائمة.

أنشئ قسم قائمة مخصص آخر يسمى قائمة الكلاب، وامنح مجموعة purple فقط حق الوصول وقم بتكوين الروابط:

لقطات شاشة الوصول إلى قائمة الشريط الجانبي الناتجة

المستخدم @Catra لديه قائمة القطط! :grinning_cat:

المستخدم @HelloKitty لديه قائمة الكلاب! :dog_face:

المسؤول المستخدم @Lilly لديه كلتا القائمتين ويمكنه تعديلهما! :smiling_cat_with_heart_eyes:

مثال التكوين

عنوان القائمة: "موارد الموظفين"
المجموعات المسموح بها: staff
الروابط:
  - أيقونة: wrench
    نص: دليل الإشراف
    URL: /t/moderation-guide/123
  - أيقونة: chart-line
    نص: لوحة معلومات التحليلات
    URL: /admin/dashboard

:light_bulb: ملاحظات هامة

وصول المسؤول

  • يجب على المسؤولين إضافة أنفسهم إلى المجموعات لرؤية القوائم المكونة لتلك المجموعات. حالة المسؤول وحدها لا تمنح حق الوصول إلى جميع القوائم المخصصة. هذا مقصود!
  • سيشاهد المسؤولون الذين ينتمون إلى المجموعات المسموح بها في القائمة أيقونة قلم في رأس القسم ترتبط بإعدادات المكون.

تكوين المجموعة

  • مجموعة everyone غير مدعومة - استخدم واجهة تذييل الشريط الجانبي الأصلية لإنشاء قوائم مخصصة عامة لجميع المستخدمين، بما في ذلك الزوار المجهولون.
  • الحد الأقصى 20 مجموعة لكل قسم قائمة. إذا كنت بحاجة إلى المزيد، قم بإنشاء أقسام مكررة بتعيينات مجموعات مختلفة.
  • سيشاهد المستخدمون في مجموعات متعددة جميع أقسام القائمة التي لديهم حق الوصول إليها.

الاختبار والتنظيم

  • استخدم حسابات الاختبار للتحقق من الوصول الصحيح لمجموعات مختلفة.
  • تتبع تكوينات القائمة الخاصة بك لتجنب الارتباك مع نمو التعقيد؛ يوصى بمصفوفة وصول أو وثائق مماثلة للمنتديات الأكبر ذات المجموعات العديدة.

اعتبارات الأمان

يوفر هذا المكون التحكم في الوصول على مستوى واجهة المستخدم. إنه يتحكم في الوصول إلى القائمة، وليس الوصول إلى الموارد - إنه ليس بديلاً لأذونات أمان الفئة.

ما يحميه هذا المكون:

  • :white_check_mark: لا يمكن للمجموعات غير المصرح لها من المستخدمين الوصول إلى أقسام القائمة
  • :white_check_mark: الروابط غير قابلة للاكتشاف عبر المفتش/وحدة التحكم/الوضع الآمن
  • :white_check_mark: تجربة مستخدم نظيفة بدون فوضى في القائمة

أفضل ممارسات المسؤول:

  • قم بتكوين أذونات أمان أي فئة مرتبطة وعضوية المجموعة ذات الصلة بشكل منفصل قبل إعداد هذا المكون - خطط للتكوين الخاص بك.
  • المسؤولون مسؤولون عن ضمان تفويض روابط الموارد الخارجية بشكل مناسب للمجموعات المحددة.

ملاحظات أخرى :pen:

  • هذا المكون متوافق مع إعادة ترتيب قائمة الشريط الجانبي لـ Discourse، والذي تم استخدامه لوضع قسمي القائمة المثال في لقطات الشاشة في الجزء العلوي من الشريط الجانبي. ما عليك سوى استخدام عنوان قسم القائمة المخصص بتنسيق slug، على سبيل المثال: cat-menu.
  • كان هذا مشروعًا تعاونيًا مع @Moin - كانت مدخلاتها وإلهامها وملاحظاتها لا تقدر بثمن.
7 إعجابات

يبدو أنني أحصل على خطأ 404 على المستودع.

تعديل: كل شيء على ما يرام الآن!

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

haha حاول مرة أخرى. نسيت أن تجعله عامًا! :laughing:

4 إعجابات