È possibile aggiungere automaticamente un badge all’utente che ha risolto più di 100 problemi accettati?
Il plugin Solved include badge predefiniti per 1, 10, 50 e 150 soluzioni: devi solo abilitarli - Discourse Solved
Tuttavia, per crearne uno per 100, puoi copiare il SQL di uno di quelli, cambiare la soglia e aggiungerlo nuovamente come nuovo badge attivato da SQL personalizzato. Ci sono maggiori informazioni su questo in Creating triggered custom badge queries, e su come abilitarlo qui Enable Badge SQL.
Grazie per la tua risposta, ora capisco ![]()
Ma quando testo questa query:
SELECT post_id, user_id, created_at AS granted_at
FROM (
SELECT p.id AS post_id, p.user_id, pcf.created_at,
ROW_NUMBER() OVER (PARTITION BY p.user_id ORDER BY pcf.created_at) AS row_number
FROM post_custom_fields pcf
JOIN badge_posts p ON pcf.post_id = p.id
JOIN topics t ON p.topic_id = t.id
WHERE pcf.name = 'is_accepted_answer'
AND p.user_id <> t.user_id -- ignora gli argomenti risolti dall'OP
AND (:backfill OR p.id IN (:post_ids))
) x
WHERE row_number = 100
Il risultato è:
Solo 2 badge per 2 utenti, ma conosco un altro utente che ne ha più di 100 e non viene mostrato nella query dei risultati…
Ma questo utente ha 106 soluzioni:
Solo un’altra domanda, è possibile cambiare il testo per la mia lingua? Non capisco come fare.
La query del badge non conta le auto-soluzioni né le soluzioni da argomenti eliminati, mentre quella della directory attualmente lo fa. Ciò può portare a una piccola discrepanza nei conteggi.
Puoi aggiornare il testo dei badge risolti cercando badges.solved nei tuoi testi personalizzati, e questo dovrebbe mostrare tutti i campi pertinenti: ![]()
/admin/customize/site_texts?q=badges.solved
Cosa intendi per “soluzioni autonome”?
grazie per l’aggiornamento il testo va bene ![]()
Questa riga qui:
Esclude tutte le soluzioni in cui la soluzione è fornita dalla persona che ha creato l’argomento.
OK grazie ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

