أرغب في إنشاء شارة مخصصة تُضاف إليها هذه القواعد، مما يعني ببساطة أنه عندما يحقق المستخدم الأشياء الموضحة أدناه، فسيتم منحه الشارة ذات الصلة تلقائيًا.
يحتاج المستخدمون إلى تحقيق الأشياء/القواعد التالية:
يجب أن يكون المستخدم قد أنشأ منشورين على الأقل.
يجب أن يكون المستخدم قد قام بتحميل صورة للملف الشخصي.
يجب أن يكون المستخدم قد أعجب بمنشور واحد على الأقل.
ملاحظة - لقد رأيت بعض إنشاءات الشارات بمساعدة استعلامات SQL، في الواقع أنا جديد جدًا في هذا الأمر لذا يرجى إخباري بمكان وضع استعلامات SQL (إذا لزم الأمر) لتحقيق هذه القواعد المذكورة أعلاه.
لقد قمت بتثبيت المكون الإضافي وأجريت أمر SQL التالي الذي يعطيني المستخدمين الذين يستوفون هذه القواعد الثلاثة ولكني لا أعرف كيفية تحويله إلى مشغل عندما يتصرف مستخدم على المنشور.
أمر SQL - select users.username, user_stats.user_id from user_stats Inner Join users ON user_stats.user_id = users.id where post_count = 2 AND likes_given = 1 AND uploaded_avatar_id > 0
SELECT st.user_id user_id, current_timestamp granted_at
FROM user_stats st
JOIN users u
ON st.user_id = u.id
WHERE st.post_count >= 2 AND st.likes_given >= 1 AND u.uploaded_avatar_id > 0
المشغلات الأخرى تعتمد على شيء محدد، ولا أوصي باستخدامها إلا إذا وجدت خبيرًا في SQL. (أنا لست على دراية بـ SQL بنفسي)
هل ترى السطر FROM user_stats st؟ هذا يخبر الاستعلام أن st هو اختصار لجدول user_stats.
وينطبق الشيء نفسه على عبارة JOIN حيث تقول users u. إنها تقول إنه في الاستعلام u هو اسم مستعار لجدول users في هذا الاستعلام. تُستخدم الأسماء المستعارة للسماح بتبسيط الاستعلامات لاستخدام كتابة أقل مما يقلل من احتمالية حدوث أخطاء.
فيما يتعلق بـ 3، إذا قمت بتمكين هذا الخيار، فعندما لم يعد المستخدم مؤهلاً للشارة بناءً على الاستعلام، فسيؤدي ذلك إلى إزالة الشارة من حسابه.
يتم تشغيل الاستعلام كل 24 ساعة بناءً على الوقت الذي بدأت فيه الحاوية. لذلك لدي مثيل واحد يقوم بتشغيله حوالي الساعة 0:00 بالتوقيت العالمي المنسق (تقريبًا) ومثيل آخر يقوم بتشغيله بعد الساعة 6:00 بالتوقيت العالمي المنسق بقليل.
هل يمكننا تغيير التوقيتات التي سيتم فيها تشغيل هذا الاستعلام أو هل يمكننا تعديل هذا الاستعلام لـ المشغل: عندما يتصرف المستخدم على منشور أو عندما يقوم المستخدم بتحرير أو إنشاء منشور؟
إذا كان ذلك ممكنًا، فيرجى تغيير الاستعلام لأنني جديد في نظام discourse هذا، إذا كان بإمكانك مساعدتي مرة واحدة، فسأتمكن من إنشاء شارة مخصصة خاصة بي في المرة القادمة.