تسمح لك هذه المكونة بإعادة توجيه المستخدمين إلى أي مكان تريده بعد تسجيل الدخول، كما تسمح لك بوضع لافتة ترحيب في صفحة المجموعات ( /g ).
لقد تم بناؤها بحيث يكون كلا الجزأين مستقلين، لذا يمكنك إعادة التوجيه إلى أي مكان تريده، أو استخدامها فقط لوضع لافتة في صفحة المجموعات. السلوك الافتراضي هو إعادة توجيه المستخدمين الجدد إلى صفحة المجموعة حيث تشجعهم لافتة ترحيب على الانضمام إلى المجموعات لمساعدتهم على التفاعل مع مجتمعك.
يمكنك أيضًا استخدام هذه المكونة لإعادة توجيه المستخدمين ذوي مستوى الثقة الأدنى إلى صفحة معينة عند تسجيل الدخول، أو المستخدمين الذين انضموا إلى أقل من عدد معين من المجموعات التي تحددها.
إعادة التوجيه عند تسجيل الدخول الأول
مكون سمة (Theme Component) لـ Discourse يقوم بإعادة توجيه المستخدمين الذين ليس لديهم عضويات في مجموعات إلى صفحة مخصصة ويعرض لافتة ترحيب قابلة للتخصيص.
الميزات
إعادة توجيه ذكية - يعيد توجيه المستخدمين الذين ليس لديهم عضويات في مجموعات إلى صفحة مخصصة عند تسجيل الدخول
لافتة قابلة للتخصيص - لافتة ترحيب ملونة في صفحة المجموعات
قابل للتكوين بالكامل - تمكين/تعطيل إعادة التوجيه واللافتة بشكل مستقل
منطق قائم على المجموعة - يتوقف عن إعادة التوجيه بمجرد انضمام المستخدم إلى أي مجموعة
إدراك مستوى الثقة - يمكن تقييد رؤية اللافتة حسب إعدادات مستوى الثقة
تدرج قوس قزح - خلفية تدرج جذابة بستة ألوان (مع مفتاح تبديل للون الصلب)
متجاوب مع الجوال - تتكيف اللافتة مع شاشات الجوال
التثبيت
-
في وحدة تحكم إدارة Discourse، انتقل إلى تخصيص (Customize) ← سمات (Themes) ← مكونات (Components) وانقر على تثبيت (Install)
-
اختر من مستودع Git (From a Git repository) والصق:
https://github.com/focallocal/first-login-redirect -
بمجرد التثبيت، أضف المكونة إلى السمة النشطة لديك
كيف يعمل
منطق إعادة التوجيه
- يتحقق مما إذا كان المستخدم عضوًا في أي مجموعات
- يكتشف متى يتنقل إلى الصفحة الرئيسية
- يعيد توجيهه إلى عنوان URL المكوّن (الافتراضي:
/g) - يتوقف عن إعادة التوجيه بمجرد انضمامه إلى أي مجموعة
- يمكن تعطيله بشكل مستقل عن اللافتة
لافتة الترحيب
- تظهر في صفحة فهرس المجموعات (
/g) افتراضيًا - يتم التحكم في الرؤية بواسطة إعدادات مستوى الثقة
- يمكن تعطيلها بشكل مستقل عن إعادة التوجيه
- يتم إخفاؤها تلقائيًا بمجرد وصول المستخدم إلى مستوى الثقة 1
- يتم وضعها في أعلى قائمة المجموعات باستخدام منفذ
before-groups-index
التخصيص
إعدادات السمة (لوحة الإدارة)
يمكن إجراء جميع التخصيصات من لوحة إدارة Discourse دون تعديل الكود!
- انتقل إلى إدارة (Admin) ← تخصيص (Customize) ← سمات (Themes)
- انقر على السمة التي تتضمن هذه المكونة
- انتقل إلى الإعدادات (Settings) وابحث عن قسم “إعادة التوجيه عند تسجيل الدخول الأول (First Login Redirect)”
الإعدادات المتاحة:
إعدادات إعادة التوجيه:
- تمكين إعادة التوجيه (Enable Redirect): تشغيل/إيقاف ميزة إعادة التوجيه (الافتراضي: صحيح)
- الحد الأدنى للمجموعات المطلوبة (Min Groups Required): عدد المجموعات التي أنشأها المستخدم والتي يجب أن ينضم إليها قبل أن تتوقف إعادة التوجيه (الافتراضي: 1)
- المجموعات التلقائية (مثل trust_level_0، everyone) لا تُحتسب
- عنوان URL لإعادة التوجيه (Redirect URL): المكان الذي سيتم إرسال المستخدمين الذين ليس لديهم مجموعات إليه (الافتراضي:
/g)- أمثلة:
/g(المجموعات)،/categories،/about،/latest
- أمثلة:
إعدادات اللافتة:
- إظهار اللافتة (Show Banner): تشغيل/إيقاف اللافتة (الافتراضي: صحيح)
- الحد الأدنى لمستوى الثقة (Min Trust Level): الحد الأدنى لمستوى الثقة لرؤية اللافتة (0-4، الافتراضي: 0)
- الحد الأقصى لمستوى الثقة (Max Trust Level): الحد الأقصى لمستوى الثقة لرؤية اللافتة (0-4، الافتراضي: 4)
- عنوان اللافتة (Banner Heading): النص الرئيسي الكبير
- نص فرعي للافتة (Banner Subheading): نص توضيحي أصغر
الطباعة (Typography):
- حجم خط العنوان (Heading Font Size): حجم العنوان الرئيسي (الافتراضي: 2.5em)
- حجم خط النص الفرعي (Subheading Font Size): حجم النص الفرعي (الافتراضي: 1.25em)
- تظليل النص ممكّن (Text Shadow Enabled): تشغيل/إيقاف تظليل النص لسهولة القراءة
- توهج النص ممكّن (Text Glow Enabled): تشغيل/إيقاف تأثير التوهج الخارجي
الألوان:
- استخدام التدرج (Use Gradient): تمكين/تعطيل التدرج (إذا تم تعطيله، يستخدم لونًا صلبًا)
- لون التدرج 1-6 (Gradient Color 1-6): تخصيص كل لون في التدرج
- الافتراضي: وردي ← برتقالي ← أصفر ← أخضر ← سماوي
- قم بتعيين “استخدام التدرج” على إيقاف للحصول على لون صلب باستخدام اللون 1
التخطيط:
- حشوة اللافتة (Banner Padding): المساحة داخل اللافتة (الافتراضي: 3rem 2rem)
- نصف قطر الإطار (Border Radius): استدارة الزوايا (الافتراضي: 12px، استخدم 0 للمربع)
أمثلة
الإظهار لمستخدمي TL0 فقط (المستخدمون الجدد):
اضبط الحد الأدنى لمستوى الثقة = 0، الحد الأقصى لمستوى الثقة = 0
الإظهار للجميع باستثناء المسؤولين:
اضبط الحد الأدنى لمستوى الثقة = 0، الحد الأقصى لمستوى الثقة = 3
لافتة بلون صلب:
قم بإيقاف تشغيل “استخدام التدرج” واضبط اللون 1 على اللون المطلوب (على سبيل المثال، #FF5722 للبرتقالي).
تدرج بلونين:
قم بتشغيل “استخدام التدرج” واضبط الألوان 1-3 على لون واحد، والألوان 4-6 على لون آخر.
نص أكبر:
اضبط العنوان على 3em والنص الفرعي على 1.5em.
بدون تأثيرات:
عطّل كلاً من “تظليل النص” و “توهج النص” للحصول على نص مسطح.
تعطيل إعادة التوجيه (اللافتة فقط)
احذف أو علّق الملف:
javascripts/discourse/api-initializers/first-login-redirect.js
تغيير متطلبات مستوى الثقة
في كلا ملفي المُهيئ (initializer)، قم بتغيير:
currentUser.trust_level === 0
إلى:
currentUser.trust_level <= 1 // TL0 and TL1
التفاصيل التقنية
- إصدار واجهة برمجة التطبيقات (API Version): 1.8.0 (واجهة برمجة تطبيقات Discourse الحديثة)
- نوع المكونة (Component Type): مكون Glimmer مع علامة قالب (template tag)
- منفذ المكون الإضافي (Plugin Outlet):
before-groups-index - التوافق (Compatibility): Discourse 2.8.0+
استكشاف الأخطاء وإصلاحها
س: إعادة التوجيه لا تعمل
ج: امسح مساحة تخزين الجلسة (sessionStorage) في متصفحك واختبر باستخدام حساب جديد بمستوى ثقة 0
س: اللافتة لا تظهر عند الاختبار
ج: تحقق من أنك على مسار /g ومسجل الدخول كمستخدم TL0، أو تحقق من القيم التي قمت بتعيينها في الإدارة. تحقق من وحدة تحكم المتصفح بحثًا عن أخطاء.
س: حلقة إعادة توجيه (Redirect loop)
ج: يجب أن يمنع التحقق من مساحة تخزين الجلسة (sessionStorage) حدوث ذلك. إذا حدث ذلك، امسح ذاكرة التخزين المؤقت للمتصفح ومساحة تخزين الجلسة.
الترخيص
MIT — حركة السعادة العامة
