Sto facendo fatica a capire come funziona Discourse e, dopo aver letto questo, sono ancora confuso. Sto cercando di aggiungere un titolo dinamico al nome utente dell’amministratore nella pagina dei post usando jQuery, ma non funziona.
Se invece targetto, per esempio, il tag body e aggiungo una classe, funziona.
Quindi qualcuno può per favore spiegare perché non funziona?
Il codice è inserito nella scheda Header, tra l’altro.
Probabilmente perché in questo caso jQuery non si integra bene con il pipeline di rendering di Ember e dei widget.
Vedi, in questo script non hai il controllo su quando viene eseguito e in relazione a dove si trova l’applicazione JavaScript mentre disegna lo schermo.
Esiste però un metodo dell’API JavaScript per questo; vedi ulteriori informazioni qui:
Puoi anche utilizzarlo per mostrare un’aura speciale dell’avatar (anch’essa dimostrata dallo screenshot sopra).
Ovviamente, se non vuoi che sia così “fisso”, dovrai esplorare la strada della programmazione, ma questo, sono sicuro che sarai d’accordo, richiede molto meno sforzo.
Grazie per il tuo aiuto. Non è il titolo del forum che stavo cercando, ma per mostrare un titolo al passaggio del mouse su questa piccola icona a corona che ho creato (visibile solo per gli amministratori):
È significativamente più impegnativo fare questo tipo di cose in Discourse perché è un’app web automatica e magica, ma una volta fatto correttamente, la soluzione può essere molto robusta.
Fantastico, grazie mille. Darò un’occhiata e pubblicherò la soluzione se ci riuscirò. A prima vista, Discourse sembra molto spaventoso quando si tratta di personalizzazione, e pensavo che WordPress fosse difficile . Ma, sicuramente una volta che mi sarò familiarizzato con tutto questo mondo di plugin e template, credo che diventerà più facile.
Ma questo rimuoverà l’icona dello scudo per i moderatori, giusto? Perché non voglio che accada. Devo aggiungere l’icona della corona e il testo al passaggio del mouse solo per gli amministratori, dato che non ne hanno affatto nella pagina dei post.
Ah, sì, sono abituato ai miei siti in cui sono sia moderatore che amministratore. Se separi questi ruoli, non funzionerà (cioè, gli amministratori non sono mai moderatori). Dovresti dare agli amministratori i diritti di moderatore.
In questo caso il primo utente è sia amministratore che moderatore, il secondo è solo amministratore. Puoi arricchire quella logica; fai sì che la corona abbia la precedenza scambiando l’ordine delle istruzioni if.
Sembra una soluzione, ma come ho detto sono nuovo alla personalizzazione di Discourse… puoi spiegarmi esattamente dove devo incollare il tuo codice, dato che finora non ho provato alcun metodo API?
Il ruolo di amministratore ha la precedenza: per impostazione predefinita, un’icona a forma di corona verrà mostrata per un amministratore che ha anche il ruolo di moderatore.
Ora puoi configurare l’icona in base al tipo di membro dello staff.
Ho aggiornato il TC in modo che ora modifichi anche le icone dello staff sulla Scheda Utente (e forse in altri punti, dato che ho modificato l’helper).
Le icone sono ora configurabili sia per l’amministratore che per il moderatore, sebbene la corona sia quella predefinita per l’amministratore, mentre lo scudo vanilla è quella predefinita per il moderatore.
Ho rinominato il TC.
È probabile che ci siano punti in cui le icone non sono state convertite; forse ne individuerò altri in futuro.
Grazie mille! Mi hai aiutato con quello che volevo fare per il mio forum! Penso che il tuo commento dovrebbe essere fissato per altri utenti che hanno problemi con un’icona che viene visualizzata accanto al loro nome come amministratore. Ho usato la tua funzionalità per visualizzare l’icona dello scudo che è pubblicamente mostrata sul profilo dei moderatori per gli amministratori. Ora, posso avere l’icona dello scudo senza avere i permessi di moderatore e ha il corretto tooltip dell’amministratore quando ho solo i permessi di amministratore. Grazie mille per il tuo tempo nel creare questo fantastico componente per i forum delle persone!
Modifica: Non viene visualizzato pubblicamente sul loro profilo. Attualmente funziona solo sui post.