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

: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)

  • استخدمه لجمع قيم التاريخ (على سبيل المثال، “ما هو تاريخ ميلادك؟”)
  • يُعرض كمدخل منتقي التاريخ (date picker)

تأكيد (Confirmation)

  • استخدمه لأسئلة نعم/لا (على سبيل المثال، “هل ترغب في الاشتراك في النشرة الإخبارية الخاصة بنا؟”)
  • يُعرض كخانة اختيار HTML

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

  • استخدمه للأسئلة ذات العدد المحدد من الإجابات المحتملة (على سبيل المثال، “ما هو جنسك؟”)
  • يُعرض كمدخل تحديد HTML (HTML select input)

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

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

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

اختيار متعدد (Multiselect)

  • استخدمه للأسئلة التي يمكن للمستخدمين فيها اختيار إجابات متعددة من مجموعة من الخيارات (على سبيل المثال، “ما هي المواضيع التي تثير اهتمامك؟”)
  • يُعرض كمدخل اختيار متعدد (multi-select input)
  • يتم تكوين الخيارات بنفس طريقة حقول القائمة المنسدلة

تحديد اسم الحقل والوصف

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

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

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

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

متطلبات الحقل (Field Requirements)

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

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

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

الإظهار في الملف الشخصي العام (Show on public profile)

عند التمكين، سيتم عرض قيمة الحقل في صفحة ملف تعريف المستخدم:

الإظهار في بطاقة المستخدم (Show on user card)

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

قابل للبحث (Searchable)

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

حفظ الحقول وتعديلها

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

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

  1. اذهب إلى دليل المستخدمين (user directory).
  2. انقر على أيقونة المفتاح (wrench icon):

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

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

39 إعجابًا
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
Private custom user fields...?
Users self-select Category on Registration... is it possible?
Can we implement a system for user remarks during registration for admin review?
User Field Prompt
New user reviews: admin assignment and logging of progress
User customizable theme components (how-to)
Add users to groups on signup
Announcing - Gender Pronouns Userfield on Meta
Add a custom per-user setting in a plugin
Welcome questions on the first screen for bio
How to add min or max values in custom fields?
Custom user fields not available in api
Grant Custom Badge Upon Reading ToS
Required vs. optional sign-up fields
Add users to groups through custom field automation
Terms of Service Checkbox
Hidden User Fields
Social Features
Where in Discourse can users publicly share PII?
Linking "static" information about member to topic posted
Using Discourse as a social media platform
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?
This freaking software works so well I can’t even
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
Add custom fields to signup and login
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