Añade un botón de enlace o texto arbitrario en cualquier salida de complemento (plugin outlet). (Ignore las marcas de agua en las imágenes; tomé estas capturas de pantalla en un sitio de prueba/staging).
Para ver dónde están las salidas de complemento, use Introducing Discourse developer toolbar para encontrarlas. Si no sabe qué es una salida de complemento, puede echar un vistazo a Using Plugin Outlet Connectors from a Theme or Plugin, pero este componente le permite, con algunas restricciones, pegar texto en cualquier salida de complemento sin programar o entender realmente qué es una salida de complemento.
Comencé a desarrollar este complemento para alguien que quería mostrar un botón de “haga clic en este botón para suscribirse y poder enviar mensajes privados” en los perfiles de usuario y tarjetas de usuario. Querían que el botón se mostrara si el usuario no podía enviar mensajes privados. Como no siempre soy tan inteligente como creo, escribí el componente usando grupos para determinar si se mostraba el botón. Un problema con este enfoque era que los miembros del personal no estaban en el grupo de suscriptores, por lo que obtenían el botón de “tienes que suscribirte” a pesar de que podían enviar mensajes privados. Además, el grupo estaba oculto, por lo que era imposible usarlo en un componente de tema de todos modos. Reescribí ese componente de tema para usar currentUser.can_send_private_messages para determinar si mostrar el botón.
¿Para quién es esto?
Si desea colocar un botón con un enlace o algo de texto arbitrario que se muestre u oculte para ciertos grupos, esto le permitirá insertarlos en cualquier salida de complemento. ¿Quiere agregar un enlace de botón “Deberías suscribirte” entre cada mensaje excepto para aquellos que no son miembros? Esto lo hará. ¿Quiere pegar HTML arbitrario en una salida de complemento, solo para ver cómo se verá? Esto lo hará.
Cómo ayuda a los desarrolladores
Este tema tiene algunos ejemplos sencillos de cómo:
usar api.renderInOutlet (como se describe aquí para pegar un componente Glimmer en una salida controlada por una configuración en lugar de crear un archivo en el directorio connectors
¿Sería posible añadir marcadores de posición a las URL de los botones, por ejemplo, para que la URL contenga el ID del tema en el que se encuentra el usuario?
Queremos añadir un conjunto de botones como este a cada tema para los miembros de nuestro grupo de usuarios de cuentas de empresa.
El botón activaría la creación de un nuevo MP que incluiría la URL actual en la que se encuentra el usuario.
De esta manera, nuestros clientes empresariales pueden enviarnos solicitudes para fijar, resaltar o “patrocinar” temas específicos.
Como sabes, puedes crear una URL que abrirá un nuevo compositor de temas. Podrías hacer que ese sea el enlace agregado por el componente de tema.
No creo que sea posible hacer eso sin agregar código al componente de tema (¿pero quizás sí lo sea?). Quizás alguien tenga una idea al respecto y ofrezca esa solución aquí (o en el otro tema). Si no, puedes contactarme o publicar en Marketplace con la descripción de lo que necesitas y un presupuesto.