إنشاء وتخصيص حقول المستخدم

:bookmark: يشرح هذا الدليل كيفية إنشاء وتخصيص حقول مستخدم مخصصة في Discourse، بما في ذلك كيفية إضافتها إلى نموذج التسجيل، وملفات المستخدم الشخصية، ومدير المستخدمين.

:person_raising_hand: مستوى المستخدم المطلوب: مدير

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

إضافة حقل مستخدم

  1. انتقل إلى Admin > Community > User Fields (discourse.example.com/admin/config/user-fields).

  2. إذا لم تقم بإنشاء أي حقول مستخدم بعد، فستظهر لك هذه الشاشة:

  3. انقر على زر “إضافة حقل مستخدم” (Add user field) لإضافة حقل جديد.

اختيار نوع الحقل

يحدد نوع الحقل حقل الإدخال الذي سيراه المستخدمون في نموذج التسجيل. اختر بناءً على نوع المعلومات التي تجمعها:

حقل نصي (Text field)

  • استخدمه للأسئلة القصيرة التي لها العديد من الإجابات المحتملة (مثال: “ما اسم الشركة التي تعمل بها؟”)
  • يظهر كحقل إدخال نصي HTML من سطر واحد

منطقة نصية (Textarea)

  • استخدمه للأسئلة التي قد تتطلب إجابات أطول متعددة الأسطر (مثال: “أخبرنا عن نفسك”)
  • تظهر كحقل إدخال منطقة نصية HTML متعدد الأسطر

تاريخ (Date)

  • استخدمه لجمع قيم التاريخ (مثال: “ما هو تاريخ ميلادك؟”)
  • يظهر كحقل اختيار تاريخ

تأكيد (Confirmation)

  • استخدمه لأسئلة نعم/لا (مثال: “هل ترغب في الاشتراك في نشرتنا الإخبارية؟”)
  • يظهر كخانة اختيار HTML (checkbox)
  • أضف روابط مهمة للمستخدمين للتأكيد باستخدام HTML، على سبيل المثال:
    أوافق على قراءة واتباع <a href="https://meta.discourse.org/guidelines">إرشادات المجتمع.</a>

قائمة منسدلة (Dropdown)

  • استخدمه للأسئلة التي لها عدد محدد من الإجابات المحتملة (مثال: “ما هو جنسك؟”)
  • يظهر كحقل إدخال اختيار HTML (select input)

لإضافة خيارات لحقل القائمة المنسدلة:

  1. انقر على حقل إدخال الخيار
  2. اكتب إجابة وانقر على “إنشاء” (Create)
  3. كرر العملية للخيارات الإضافية

يجب أن تبدو الخيارات المكتملة مشابهة لهذا:

تحديد متعدد (Multiselect)

  • استخدمه للأسئلة التي يمكن للمستخدمين فيها اختيار إجابات متعددة من مجموعة من الخيارات (مثال: “ما هي المواضيع التي تهمك؟”)
  • يظهر كحقل إدخال تحديد متعدد
  • يتم تكوين الخيارات بنفس طريقة حقول القائمة المنسدلة

تعيين اسم الحقل والوصف

  • اسم الحقل (Field Name): يظهر قبل حقل الإدخال في نموذج التسجيل وملف المستخدم الشخصي
  • وصف الحقل (Field Description): يظهر بعد حقل الإدخال لمساعدة المستخدمين على إكمال الحقل

:information_source: كلا من اسم الحقل والوصف مطلوبان لحفظ الحقل.

إليك كيف تظهر الحقول المخصصة في نموذج التسجيل:

تكوين خيارات حقل المستخدم

متطلبات الحقل

  • اختياري (Optional) - يمكن للمستخدمين ترك الحقول الاختيارية فارغة
  • لجميع المستخدمين (For all users) - عندما يكون الحقل مطلوبًا لجميع المستخدمين، سيُجبر كل حساب، بما في ذلك المستخدمين المسجلين بالفعل، على ملئه. هذا مفيد جدًا لحالات مثل متطلبات شروط الخدمة (ToS).
  • عند التسجيل (On signup) - سيُطلب من جميع الحسابات الجديدة ملء الحقل.

بالإضافة إلى ذلك، في أسفل نموذج الإنشاء، ستجد خانات الاختيار التالية:

  • قابل للتعديل بعد التسجيل (Editable after signup): يسمح للمستخدمين بتحديث الحقل من صفحة ملفهم الشخصي
  • عرض في الملف الشخصي العام (Show on public profile): يعرض قيمة الحقل في صفحة ملخص المستخدم
  • عرض في بطاقة المستخدم (Show on user card): يعرض قيمة الحقل في بطاقة المستخدم
  • قابل للبحث (Searchable): يتيح البحث عن المستخدمين بناءً على قيمة هذا الحقل في مدير المستخدمين
  • عرض في نموذج التسجيل (Show on signup form): يتحكم في ما إذا كان الحقل يظهر في نموذج التسجيل. يتم تفعيل هذا تلقائيًا (ولا يمكن تعطيله) عندما تكون متطلبات الحقل “لجميع المستخدمين” أو “عند التسجيل”، أو عندما لا يكون الحقل قابلًا للتعديل بعد التسجيل.

عرض في الملف الشخصي العام

عند التفعيل، ستظهر قيمة الحقل في صفحة ملف المستخدم الشخصي:

عرض في بطاقة المستخدم

عند التفعيل، ستظهر قيمة الحقل في بطاقة المستخدم:

قابل للبحث

عند التفعيل، يمكنك البحث عن المستخدمين بناءً على قيم حقولهم المخصصة:

حفظ الحقول وتحريرها

  1. انقر على “حفظ” (Save) لإضافة الحقل إلى قائمة حقول المستخدمين في موقعك
  2. لتحرير حقل، انقر على زر “تحرير” (Edit) بجانبه في القائمة
  3. لحذف حقل، انقر على قائمة النقاط (⋮) بجانبه واختر “حذف” (Delete)

إضافة الحقول المخصصة إلى مدير المستخدمين

  1. انتقل إلى مدير المستخدمين
  2. انقر على أيقونة المفتاح:

  1. حدد حقول المستخدم المخصصة التي تريد عرضها
  2. انقر على “حفظ” (Save)

ستظهر الآن الحقول المخصصة المحددة في جدول مدير المستخدمين:

40 إعجابًا
Any Plugins/Easy Mods for an Extended User Profile
Add introductory text for sign-up
Setting Security Parameters: Log-In, Read-Only, Protected Groups
Theme-Component v Plugin: What's the difference
User preference on theme components
Users self-select Category on Registration... is it possible?
Private custom user fields...?
Can we implement a system for user remarks during registration for admin review?
User customizable theme components (how-to)
This freaking software works so well I can’t even
User Field Prompt
New user reviews: admin assignment and logging of progress
Add users to groups on signup
How to add min or max values in custom fields?
Add a custom per-user setting in a plugin
Welcome questions on the first screen for bio
Announcing - Gender Pronouns Userfield on Meta
Grant Custom Badge Upon Reading ToS
If topic info is too long, tags are cut off and create a blank line
Required vs. optional sign-up fields
Terms of Service Checkbox
Hidden User Fields
New user filter by custom field and contact
Social Features
Where in Discourse can users publicly share PII?
Linking "static" information about member to topic posted
Add custom fields to signup and login
Using Discourse as a social media platform
Add users to groups through custom field automation
Custom user post display
Disable account confirm emails when creating users via API
Links in additional fields
Clickable Social Icon Links on Profile
Extend Existing Controller?
Requiring acceptance of terms and conditions
"Fake" OAuth Provider?
Extend Existing Controller?
Allow users to block keywords
Customize Your Site Branding
Restrict the users to post in the groups who haven't uploaded their profile picture
Adding non-visible user custom fields to the API
Seeking Advice: making a discourse forum hyper local
Can add short message to verify? Just input phone number can sign up
Add terms when make new topic
Export custom field for users in discourse hosted forum
Customizing Sign-up and Log in
Grouping poll results by user custom field
Disclaimer for tutorials
How to add custom logic input on the signup page?
Terms of service changes in Discourse platform
Custom user fields not available in api