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

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

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

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

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

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

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

:briefcase: بعض حالات الاستخدام

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

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

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

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

خصائص القسم

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

خصائص الرابط

الخاصية الوصف
الأيقونة اسم أيقونة FontAwesome (مثل circle-info، star، user-group). قد يحتاج إلى إضافته إلى الإدارة > جميع إعدادات الموقع > مجموعة أيقونات svg
النص تسمية العرض للرابط
عنوان 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 لإضافة قسم آخر، أو احفظ التغييرات.
لقطات شاشة لتكوين الإدارة مع مثال للإعداد

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

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

  • تحب @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 فقط وconfigure الروابط:

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

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

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

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

مثال التكوين

عنوان القائمة: "أشياء القطط"
المجموعات المسموحة: team-cat
الروابط:
  - الأيقونة: link
    النص: مقاطع فيديو القطط والصور
    عنوان URL: /t/cat-videos-and-photos/123
  - الأيقونة: magnifying-glass
    النص: موسوعة القطط
    عنوان URL: https://ar.wikipedia.org/wiki/قطة

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

وصول المسؤولين

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

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

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

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

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

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

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

اعتمد دائمًا على نظام الأذونات المدمج في Discourse لتأمين الموارد الفعلية:

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

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


كان هذا مشروعًا تعاونيًا مع @Moin - كانت مدخلاتها وإلهامها وملاحظاتها لا تقدر بثمن.


استكشف مشاريع Discourse الأخرى الخاصة بي
14 إعجابًا

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

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

إعجابَين (2)

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

6 إعجابات

رائع! كنت أرغب في هذا لبعض الوقت. لقد قمت ببناء مجموعة جيدة من قوائم الشريط الجانبي المخصصة المفيدة لنفسي - روابط للإشراف، وللمهام الإدارية والمرجع، ولتوثيق Discourse، ولمحتوى خارجي نشير إليه بشكل متكرر في المنتدى، وما إلى ذلك. إحدى القوائم تحتوي على روابط للاجتماعات الدورية المختلفة التي تستخدم ببساطة رابط tag، على سبيل المثال /tag/comm-mgt-monthly مما يساعدني على الانتقال بسرعة إلى جداول الأعمال والمحاضر الحالية والسابقة.

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

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

ومستدام! سيتمكن جميع المسؤولين من تعديل ملفات التكوين، لذلك لا يعتمدون عليّ فقط. شكرًا @Lilly و @Moin!

إعجابَين (2)

مرحباً @Lilly و @Moin،

شكراً لكما على بناء هذا المكون.

كنت أستخدم Group sidebar menu sections - deprecated على موقعي المستضاف ذاتياً، وفي آخر تحديث لي، تم تحذيري من أن مكون الثيم القديم قد تم إهماله وتثبيت هذا المكون بدلاً منه.

لقد قمت بتثبيت المكون وأنشأت قائمة مجموعتي المخصصة، ولكني لا أرى كيف يمكنني نقل قائمة المجموعة. (يجب أن أكون أتجاهل شيئاً واضحاً. :see_no_evil_monkey:) في لقطات الشاشة الخاصة بكما، تظهر قائمة القطط (Cat Menu) و قائمة الكلاب (Dog Menu) في شريط التنقل الجانبي فوق قسم المواضيع (Topics)، لكن قائمة مجموعتي المخصصة تظهر في أسفل شريط التنقل الجانبي الخاص بي. كيف يمكنني نقلها إلى الأعلى فوق المواضيع (Topics)؟

3 إعجابات

ليس واضحًا. استخدمت ليلي Discourse Sidebar Menu Reorder لوضع cat-menu في الأعلى

4 إعجابات

شكراً جزيلاً! كان إعداده سهلاً للغاية.

4 إعجابات

يرجى تحديث هذا المكون إذا كنت تستخدمه - تم إجراء بعض إعادة الهيكلة بناءً على التغييرات الأساسية هنا: Granular group-based permissions for anonymous and logged in users

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