Existe alguma maneira de os usuários verem seu próprio ID de Usuário quando alguém visualiza seu perfil?
Atualmente, os IDs só são visíveis para administradores através do painel de controle, mas eu gostaria que os usuários pudessem exibir seu ID publicamente.
Isso é algo que pode ser ativado através das configurações de administrador, de um componente ou de um plugin?
Me avisem! Por favor
Deve ser possível fazer isso em um componente de tema. O ID do usuário está disponível sem uma solicitação adicional, então você só precisaria de algum JavaScript para exibi-lo em um plugin outlet na página de perfil.
Bem, como um UID é imutável (nunca muda), ele pode funcionar como uma impressão digital permanente para a conta de alguém. Nomes de usuário podem mudar, então, para tíquetes de suporte, ele pode encontrar instantaneamente a conta, transações, sessões de autenticação, etc… O UID não pode ser falsificado e é único para sempre.
Eu gostaria que o UID incrementasse em 1 a cada novo usuário.
@Moin Obrigado pela resposta, foi útil. Sim, consigo ver a resposta em Rede → XHR → Resposta. Perfeito. Mas não sei como exibir o UID no perfil da conta do usuário. Quero exibi-lo aqui: https://mydomain.com/u//preferences/account
Mas dentro dos componentes de criação, existem apenas estas opções: , Antes do Cabeçalho, Depois do Cabeçalho e Rodapé
/my/preferences/account não é público; outros usuários não podem ver isso, mas com base no seu caso de uso, pode ser suficiente para o próprio usuário ver seu ID.
Você precisa encontrar um plugin outlet que esteja perto de onde você deseja mostrar a informação. Eu costumo usar o botão na barra de ferramentas do desenvolvedor para torná-los visíveis em um fórum. Vê-los dentro do fórum facilita encontrar o melhor outlet. Você pode encontrar mais informações sobre como mostrar algo em um outlet no Theme Developer Tutorial: 1. Introduction
Ok, então se eu quiser que todos vejam (público), eu colocaria dentro de: mydomain.com/u/<resumo_do_usuário>
Então, usando enableDevTools() no console do navegador, acho que user-profile-secondary será um bom lugar.
Vou tentar agora.
Estou travado. Como eu obteria o id do usuário que estou visualizando? Porque api.getCurrentUser retorna o usuário logado.
Custom Components -- add button or text at any plugin outlet é um exemplo de como fixar algum texto em qualquer lugar onde haja uma saída de plugin (plugin outlet). Eu acho que você precisará criar seu próprio componente de tema (theme component) para ter acesso ao user_id.
Eu acho que você faria algo assim ao chamar seu componente:
Usando a postagem acima de @pfaffman, você pode então ter um componente que usa {{@user.id}}. Veja Theme Developer Tutorial: 5. Building and using components, mas eu acho que você pode fazer isso em Editar CSS/HTML > JS na UI do TC do Discourse, usando api.renderInOutlet().
Sim, api.renderInOutlet() foi muito útil. No entanto, meu problema, que agora é irrelevante, pois abordei-o de forma diferente, era que eu não sabia como recuperar o user.id do perfil que estava sendo visualizado.
Acho que seria mais fácil se você escolhesse um outlet que fornecesse o modelo do usuário cuja página você está visualizando.
O outlet que você escolheu oferece informações sobre o tópico, mas não sobre os usuários
Os *outlets* no perfil do usuário, como `user-post-names`, fornecem o modelo do usuário:
https://github.com/discourse/discourse/blob/5b6d32804a1eb658fdc043b082336a17b4c1c944/frontend/discourse/app/templates/user.gjs#L220-L224
Com um *outlet* que fornece o modelo, você deve ser capaz de usar `@outletArgs` como no exemplo em https://meta.discourse.org/t/theme-developer-tutorial-4-using-outlets-to-insert-and-replace-content/357799. O exemplo lá usa `discovery-list-container-top`, que fornece `@outletArgs={{lazyHash category=@model.category tag=@model.tag}}`
É por isso que eu escolheria um outlet que fornecesse o modelo do usuário. Você pode ver o modelo quando passa o mouse sobre o outlet e vê o ID do usuário cujo perfil você está olhando. Muitos exemplos no tutorial usam o serviço currentUser, que fornece o ID do usuário em ação, que não é o que você parece estar procurando.