¡Gracias a todos! Tras actualizar y hacer una recarga forzada, ahora funciona como se esperaba.
Acabo de empezar a probar este componente; ¡gracias! Me gustaría saber cómo añadir texto de marcador de posición a los mensajes privados. ¿Alguien ha probado eso?
Los mensajes privados tienen el mismo texto de marcador de posición predeterminado que las publicaciones de temas. Los administradores del sitio pueden cambiarlo en Configuración de administración > Personalizar > Texto. Busca js.composer.reply_placeholder, como se muestra en la parte superior de este hilo.
Si utilizas este componente para personalizar el texto de marcador de posición para cada categoría de tema, el texto de marcador de posición predeterminado solo debe aplicarse a los mensajes privados.
Este componente del tema es realmente genial. He estado buscando una forma de ofrecer a mis usuarios un poco más de orientación al crear un tema, y me gustaría que la experiencia se asemeje más a completar un formulario.
Actualmente, este componente del tema hace que todo el texto precargado en un tema sea un único marcador de posición. Así, una vez que el usuario escribe algo en el compositor del tema, todo el texto del marcador de posición desaparece.
¿Sería posible tener diferentes marcadores de posición en la página? Por ejemplo, la plantilla del tema podría cargar un marcador de posición separado para:
“Nombre”
“Ubicación”
“Problema”
De modo que cuando el usuario escribe su nombre, los otros marcadores de posición para Ubicación y Problema permanezcan visibles hasta que el usuario también escriba en sus respectivos campos.
El texto predeterminado de la plantilla de tema de Discourse permanece mientras el usuario escribe. ¿Parece que eso es lo que necesitas?
El enfoque de los marcadores de posición:
Lo que yo (y ¿otros?) estaríamos buscando se comportaría más como marcadores de posición en un formulario (es decir, con elementos de formulario separados).
El comportamiento predeterminado básico ahora me permitiría enumerar diferentes secciones del formulario, como lo que escribí (“nombre”, “ubicación” e “incidencia”), pero el comportamiento predeterminado de la plantilla tiene los mismos problemas que se señalaron anteriormente: el formato Markdown lo hace confuso y el usuario puede romperlo fácilmente.
Creo que lo ideal sería como un formulario normal, donde hay un marcador de posición para cada sección (nombre, ubicación e incidencia), pero (aquí está la diferencia) las secciones se comportarían de forma independiente. Así, cuando el usuario hace clic en la sección de nombre, el marcador de posición “nombre” desaparece, pero las otras secciones permanecen hasta que el usuario hace clic en ellas también.
Podría imaginar que esto sería posible (?) con jQuery. Cada sección tendría que tener su propio div con un id, y luego jQuery permitiría mostrar o eliminar el texto de ese id en particular cuando el usuario hace clic en él. Esto requeriría agregar divs dentro del área de texto, sin embargo, y no estoy seguro de cómo hacerlo.
Estoy investigando eso aquí.
El enfoque de plantilla
Probablemente una alternativa sería que los encabezados de sección no “desaparezcan” cuando el usuario hace clic. Así, los encabezados de sección (por ejemplo: Nombre, Ubicación e Incidencia) serían texto que permanecería en la página. Para hacerlo más parecido a un formulario, en comparación con la plantilla predeterminada actual:
- El texto del encabezado de sección no podría ser editado por el usuario (es decir,
contenteditable="false") - Los puntos de ruptura de sección no podrían ser eliminados por el usuario
- Habría espacio debajo del encabezado de sección donde quede claro que el usuario puede escribir. En la plantilla predeterminada actual, tendrían que ir donde está el texto, presionar
return, para crear espacio para escribir.
¿Quizás esta es la forma más sencilla de hacerlo?
Encontré que esta configuración aplicar solo en el primer mensaje no funciona.
No funciona si quiero que todos los mensajes de un tema tengan el mismo marcador de posición y desactivo la configuración. En ese caso, obtengo un marcador de posición estándar.
¿Existe la posibilidad de tener un marcador de posición específico para las respuestas (no para el primer mensaje de un tema)? Espero ofrecer a los usuarios más orientación sobre qué puede incluirse en una respuesta, y un marcador de posición que aparezca en las respuestas sería muy útil.
He descubierto que esto funciona para las respuestas solo si el texto del marcador de posición tiene más de una línea. No tengo idea de por qué, ya que el código es un poco demasiado complicado para mí.
P.D.
Mientras tanto, he introducido una pequeña PR para detener las advertencias de la consola del navegador:
Gracias por fusionar, Nathan.
Tengo un problema en el que el texto de marcador de posición no aparece. ¿Qué me falta?
Plantilla:
Configuración del componente
No aparece texto de marcador de posición/plantilla
Al desmarcar “Mostrar todas tus plantillas de temas como marcadores de posición”
La plantilla aparece como texto editable (no texto de marcador de posición)
Editar texto de la plantilla incluye [marcador de posición]
El texto de la plantilla desaparece/no hay texto de marcador de posición
Esto está en una instalación nueva de Discourse, sin plugins/componentes instalados - Discourse 3.4.0
Sí, parece que este componente temático dejó de funcionar. ![]()
Este componente dejó de funcionar para mí.
Bueno, puedo confirmar que no funciona. Probablemente debido a cambios importantes recientes en Discourse.
Hola, ¿hay alguna esperanza de que se actualice? ![]()
Hola ![]()
He creado una PR para devolverle la vida a este componente temático y hacerlo compatible con la última versión de Discourse. ![]()
Gracias @Don He fusionado tu pull request. Por favor, prueba que funciona para ti. ![]()
Acabo de reinstalar y usarlo; parece que ahora funciona bien.
Por lo tanto, he eliminado la etiqueta broken.
[Aviso de administrador] El tema ‘Texto de marcador de posición para la plantilla de tema’ contiene código que necesita actualizarse. (id:discourse.resolver-resolutions)
[TEMA 50 'Texto de marcador de posición para la plantilla de tema'] AVISO DE OBSOLESCENCIA: "site:main" está obsoleto, utiliza "service:site" en su lugar [obsoleto desde Discourse 2.9.0.beta7] [id de obsolescencia: discourse.resolver-resolutions]
He realizado ese cambio y publicado una actualización. Todo debería funcionar ahora.






