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

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

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

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

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

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

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

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

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

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

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

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

خصائص القسم

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

خصائص الرابط

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

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

سيناريو مثال مع قائمتين مخصصتين و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:

مثال على التكوين

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

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

وصول المسؤول

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

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

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

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

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

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

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

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

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

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


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


اطّلع على أشياء Discourse الأخرى الخاصة بي
13 إعجابًا

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

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

إعجابَين (2)

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

6 إعجابات

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

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

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

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

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

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

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

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

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

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

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

3 إعجابات

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

3 إعجابات