¿Hay alguna manera de que los usuarios vean su propio ID de usuario cuando alguien ve su perfil?
Ahora mismo, los ID solo son visibles para los administradores a través del panel de control, pero me gustaría que los usuarios pudieran mostrar su ID públicamente.
¿Es esto algo que se puede habilitar a través de la configuración de administrador, un componente o un complemento?
¡Avísame! Por favor.
Debería ser factible en un componente de tema. El ID de usuario está disponible sin una solicitud adicional, por lo que solo necesitarías algo de JavaScript para mostrarlo en un plugin outlet en la página de perfil.
Dado que una UID es inmutable (nunca cambia), puede actuar como una huella digital permanente de la cuenta de alguien. Los nombres de usuario pueden cambiar, por lo que para los tickets de soporte puede encontrar instantáneamente su cuenta, transacciones, sesiones de autenticación, etc. La UID no se puede falsificar y es única para siempre.
Me gustaría que la UID se incremente en 1 con cada nuevo usuario.
@Moin Gracias por la respuesta, fue útil. Sí, puedo ver la respuesta en Red → XHR → Respuesta. Perfecto. Pero no sé cómo mostrar la UID en el perfil de la cuenta del usuario. Quiero mostrarla aquí: https://mydomain.com/u//preferences/account
Pero dentro de los componentes de creación solo hay estas opciones: , Antes de la cabecera, Después de la cabecera y Pie de página
/my/preferences/account no es público; otros usuarios no pueden verlo, pero según tu caso de uso, podría ser suficiente para que el propio usuario vea su ID.
Necesitas encontrar un plugin outlet que esté cerca de donde quieres mostrar la información. Normalmente utilizo el botón en la barra de herramientas de desarrollador para hacerlos visibles en un foro. Verlos dentro del foro me facilita encontrar el mejor outlet. Puedes encontrar más información sobre cómo mostrar algo en un outlet en el Theme Developer Tutorial: 1. Introduction
De acuerdo, si quiero que todo el mundo lo vea (público), lo colocaría dentro de: midominio.com/u/<resumen_del_usuario>
Así que usando enableDevTools() dentro de la consola del navegador, creo que user-profile-secondary será un buen lugar.
Lo intentaré ahora.
Estoy atascado. ¿Cómo obtendría el id del usuario que estoy viendo? Porque api.getCurrentUser devuelve el usuario que ha iniciado sesión.
Custom Components -- add button or text at any plugin outlet es un ejemplo de cómo fijar algún texto en cualquier lugar donde haya un plugin outlet (salida de complemento). Creo que necesitarás crear tu propio componente de tema para obtener acceso al user_id.
Creo que harías algo como esto al llamar a tu componente:
Usando la publicación de @pfaffman de arriba, puedes tener un componente que use {{@user.id}}. Consulta Theme Developer Tutorial: 5. Building and using components, pero creo que puedes hacerlo en Editar CSS/HTML > JS en la Interfaz de Usuario de TC de Discourse, usando api.renderInOutlet().
Sí, api.renderInOutlet() fue de gran ayuda. Sin embargo, mi problema, que ahora es irrelevante ya que lo abordé de manera diferente, era que no sabía cómo recuperar el user.id del perfil que se estaba viendo.
¿Tienes alguna idea?
Creo que sería más fácil si eligieras un outlet que proporcione el modelo del usuario cuya página estás viendo.
El outlet que elegiste ofrece información sobre el tema pero no sobre los usuarios
Los *outlets* en el perfil de usuario como `user-post-names` proporcionan el modelo de usuario:
https://github.com/discourse/discourse/blob/5b6d32804a1eb658fdc043b082336a17b4c1c944/frontend/discourse/app/templates/user.gjs#L220-L224
Con un *outlet* que proporciona el modelo deberías poder usar `@outletArgs` como el ejemplo en https://meta.discourse.org/t/theme-developer-tutorial-4-using-outlets-to-insert-and-replace-content/357799. El ejemplo allí usa `discovery-list-container-top` que proporciona `@outletArgs={{lazyHash category=@model.category tag=@model.tag}}`
Por eso elegiría un outlet que proporcione el modelo de usuario. Puedes ver el modelo cuando pasas el ratón por encima del outlet y ves el ID del usuario cuyo perfil estás mirando. Muchos ejemplos en el tutorial usan el servicio currentUser, que proporciona el ID del usuario que está actuando, que no es lo que parece que estás buscando.