أحد عملائنا المستضافين طرح مؤخرًا سؤالًا حول كيفية تكوين أتمتة إضافة مستخدم إلى مجموعة من خلال حقل مستخدم مخصص بالضبط. أضع هنا نسخة عامة من الإجابة لصالح نظامنا البيئي الأوسع، حيث أن تجربة المستخدم ليست سهلة الاستخدام حاليًا - نعتذر عن ذلك بينما نعمل على تحسينها.
كيفية إعداد نص برمجي لأتمتة إضافة مستخدم إلى مجموعة من خلال حقل مستخدم مخصص
أولاً، تحتاج إلى إنشاء حقل مستخدم من تخصيص → حقول المستخدم (من نوع القائمة المنسدلة حسب المناقشة أعلاه)، ثم تحديد اسم حقل المستخدم المخصص (على عكس اسم حقل المستخدم الذي هو “قالب” الحقل)، وتوجيه نص برمجي الأتمتة إلى اسم هذا الحقل.
لشرح الجزء المتعلق بنموذج البيانات: يعرض عرض المسؤول → تخصيص → حقول المستخدم قائمة بسجلات حقل المستخدم (أي “قوالب حقول المستخدم”). عند إنشاء سجل هنا، سيتمكن المستخدمون لاحقًا من اختيار قيمة لذلك عند التسجيل أو من ملفهم الشخصي. سيتم تخزين هذه القيمة كسجل حقل مستخدم مخصص جديد (أي “مثيلات حقول المستخدم”، أو “حقول المستخدم الفعلية للمستخدمين”) مرتبط بمعرف المستخدم المحدد، وهذا السجل بدوره له اسم اصطناعي تم إنشاؤه على النحو التالي user_field_#{user_field_id}.
أي، لنفترض أن حقل المستخدم الجديد الخاص بك له اسم حقل مستخدم آخر:
(يمكنك رؤية عرض JSON هذا من /admin/customize/user_fields.json لموقعك)
ابحث عن السجل الذي يحمل اسم اسم حقل المستخدم الخاص بك، ولاحظ معرفه، وأضف ذلك إلى user_field_NUMBER للحصول على قيمة الاسم التي ستأخذها حقول المستخدم المخصصة، وهذا هو ما تحتاج إلى تكوينه في قيمة حقل المستخدم المخصص في النص البرمجي.
نعتذر عن الفوضى؛ هذه تعليمات مؤقتة حتى نحسن تجربة المستخدم.
ابحث عن السجل الذي يحمل الاسم name الخاص بـ UserField الخاص بك، ولاحظ معرفه (ID)، وأضف هذا إلى user_field_NUMBER للحصول على القيمة name التي ستأخذها UserCustomFields، وهذا هو ما تحتاج إلى تكوينه في قيمة حقل المستخدم المخصص في البرنامج النصي.
أين أضيف هذا إلى user_field_NUMBER؟
هذا هو عرضي عند إعداد المكون الإضافي في discourse:
شكراً لك @leonardo. هل سيكون من الصعب إضافة TL3 إلى TL2؟ لست متأكداً من أفضل شخص يمكنني أن أطلب منه ذلك؟ إنها عملية الترقية التلقائية الوحيدة التي تحدث وسيكون من المفيد جداً أن نتمكن من اتخاذ إجراء باستخدام المكون الإضافي بناءً على ذلك.