عند إنشاء مجموعة، يتوفر لدينا إعداد العضوية التلقائي بناءً على نطاق بريد المستخدم الإلكتروني. أود الحصول على هذه الوظيفة بناءً على قيمة حقل مخصص.
مثال على حالة الاستخدام
لدي مجتمع سكني (كوندو) يحتوي على حقل مخصص من نوع القائمة المنسدلة يشير إلى حالة الملكية (مالك، مستأجر). أريد أن يكون جميع المالكين تلقائيًا ضمن مجموعة المالكين، وأن أتمكن من مراسلة جميع المالكين فقط لبعض الرسائل.
محاذير
يبدو هذا الأمر مباشرًا بالنسبة للحقول المخصصة من نوع القائمة المنسدلة وحقول التأكيد، لكنني أتوقع أن يصبح الأمر معقدًا بالنسبة لحقول النص. سيكون مقبولًا تمكين هذه الوظيفة فقط للقوائم المنسدلة وحقول التأكيد، وإلا فإن المطابقة النصية الدقيقة ستكون كافية لحقول النص.
Since these are user settable custom fields, you can just make the groups open membership and tell people to add / remove themselves via the /groups page.
Not realistic for my use case. Hard to get a bunch of random homeowners, some very old, to bother going around tinkering with their settings. It was hard enough getting them to just register once to get the emails, and it’s hard to even get them to pay attention and do stuff even when there are financial penalties.
لأي شخص قد يصادف هذا في المستقبل: كانت لدي حالة استخدام مشابهة (مجموعتان متميزتان من المستخدمين — أشخاص يقدمون خدمات مقابل أشخاص يبحثون عن خدمات)، وانتهيت بتنفيذ ذلك عبر الويب هوكس (webhooks) وواجهة برمجة تطبيقات Discourse.
على وجه التحديد، قمت بـ…
إنشاء ويب هوك يُفعّل عند أحداث المستخدمين
تنفيذ خادم Express.js بسيط لاستلام الحمولة (payload)
إعداد مسار POST لأحداث user_created يتحقق من قيمة حقل مخصص للمستخدم، ثم يستخدم واجهة برمجة تطبيقات Discourse لتحديد مجموعة المستخدم وفقًا لذلك
يبدو هذا وكأنه طريقة غريبة قليلاً للقيام بذلك لأنني أخرج خارج Discourse لتعديل شيء ما داخل Discourse، لكنني بحثت بعمق في المنتدى عن إجابات لهذا ولم أجد شيئًا، لذا فعلت ما بوسعي! آمل أن يفيد هذا شخصًا ما في المستقبل، وإذا توصل أي شخص إلى طريقة أفضل للقيام بذلك، فسأحب أن أعرف ذلك.
@li-zi أعلم أنك قد حللت هذه المشكلة إلى حد ما لحالتك بالفعل، لكن يبدو لي أن هناك حلاً محتملاً آخر يتمثل في استخدام إضافة السحر المخصص.
أستخدم هذه الإضافة لتذكير المستخدمين الجدد بإكمال السحر بعد التسجيل.
يحتوي السحر على بعض الحقول التي تقدم خيارات منسدلة.
ثم قمت بإعداد إجراءين منفصلين للتنفيذ بعد تقديم السحر:
أحدهما لتحديث حقول ملف المستخدم المخصصة باستخدام حقل السحر من القائمة المنسدلة
وإجراء آخر لإضافة المستخدم إلى مجموعة محددة بناءً على اختيار حقل السحر
لإنهاء هذا الأمر - أصبح هذا ممكنًا الآن باستخدام البرنامج النصي للأتمتة ‘إضافة مستخدم إلى مجموعة من خلال حقل مخصص’.
يمكنك قراءة المزيد حول كيفية القيام بذلك هنا: