Estou com dificuldade para entender melhor como o Discourse funciona e ainda estou confuso após ler isto. Estou tentando adicionar um título dinâmico ao nome de usuário do administrador na página do post usando jQuery, mas não está funcionando.
Porém, se eu apontar, digamos, para a tag body e adicionar uma classe, funciona.
Então, alguém poderia explicar por que não está funcionando?
O código é inserido na aba de cabeçalho, a propósito.
Provavelmente porque, neste caso, o jQuery não está se integrando bem ao pipeline de renderização do Ember e dos Widgets.
Veja, neste script, você não tem controle sobre quando isso é acionado e em relação ao estágio em que o aplicativo JavaScript está enquanto desenha a tela.
No entanto, existe um método da API de JavaScript para isso; veja mais aqui:
Você também pode usar isso para exibir um destaque especial no avatar (também demonstrado pela captura de tela acima).
Obviamente, se você não quiser que isso fique tão “fixo”, terá que seguir o caminho da programação, mas isso, tenho certeza de que você concorda, exige muito menos esforço.
Obrigado pela sua ajuda. Não é o título real do fórum que estou procurando, mas para exibir um título ao passar o mouse sobre este ícone de coroa que criei (visível apenas para administradores):
Fazer esse tipo de coisa no Discourse exige significativamente mais esforço, pois ele é um aplicativo web automático e mágico, mas, uma vez que você faça da maneira correta, a solução pode ser muito robusta.
Sensacional, muito obrigado. Vou dar uma olhada e postar a solução se conseguir. À primeira vista, o Discourse parece assustador quando se trata de personalização, e eu achava que o WordPress era difícil . Mas, com certeza, assim que eu me familiarizar com toda essa coisa de plugins e templates, imagino que ficará mais fácil.
Mas isso vai remover o ícone de escudo para os moderadores, certo? Porque eu não quero isso. Preciso adicionar o ícone de coroa e o texto flutuante apenas para os administradores, já que eles não têm nenhum no momento na página de posts.
Ah, sim, estou muito acostumado com meus sites onde sou tanto moderador quanto administrador. Se você separar esses papéis, isso não funcionará (ou seja, administradores nunca serão moderadores). Você precisaria conceder direitos de moderador aos administradores.
Neste caso, o primeiro usuário é tanto administrador quanto moderador, e o segundo é apenas administrador. Você pode aprimorar essa lógica; faça a coroa ter precedência alterando a ordem das instruções if.
Parece uma solução, mas como disse, sou novo na personalização do Discourse… você poderia explicar exatamente onde preciso colar seu código, já que ainda não tentei nenhum método de API?
Atualizei o TC para que agora ele também altere os ícones de equipe no Cartão do Usuário (e possivelmente em outros lugares, já que modifiquei o helper).
Os ícones agora são configuráveis tanto para o administrador quanto para o moderador, embora a coroa seja o padrão para o administrador, enquanto o escudo padrão do jogo (vanilla shield) seja o padrão para o moderador.
Renomeei o TC.
Com certeza haverá lugares onde os ícones não foram convertidos; talvez eu encontre mais casos no futuro.
Muito obrigado! Isso me ajudou com o que eu queria fazer para o meu Fórum! Acho que seu comentário deveria ser fixado para outros usuários que estão tendo problemas com um ícone sendo exibido ao lado do nome deles como Administrador. Usei seu recurso para exibir o ícone de escudo que é mostrado publicamente no perfil dos Moderadores para os Administradores. Agora, posso ter o Ícone de Escudo sem ter Permissões de Moderador e ele tem a Correta Dica de Ferramenta de Administrador quando eu só tenho as Permissões de Administrador. Muito obrigado pelo seu tempo para criar este Componente Incrível para os fóruns das pessoas!
Editar: Ele não é exibido publicamente no perfil. Atualmente, está funcionando apenas nas postagens.