Personalizar texto del botón de nuevo tema

:discourse2: Resumen Personaliza el botón de nuevo tema por categoría o etiqueta
:eyeglasses: Vista previa Vista previa en el creador de temas de Discourse
:hammer_and_wrench: Repositorio https://github.com/discourse/discourse-customize-new-topic-button-text
:question: Guía de instalación Cómo instalar un tema o componente de tema
:open_book: ¿Nuevo en los temas de Discourse? Guía para principiantes sobre el uso de temas de Discourse

Instalar este componente de tema

Características

Este componente de tema te permite personalizar el botón “Nuevo tema” en la lista de temas de una categoría o etiqueta, así como el nombre de la acción y el botón en el compositor (resaltado a continuación). Si tienes una categoría de #error, por ejemplo, puedes actualizar estos textos para que digan “Informar error”:

(Es posible que algunos iconos deban agregarse a tu configuración de administrador svg icon subset)

También puedes personalizar el texto del botón de respuesta, esto reemplazará el texto reply en el compositor y dentro de los temas:

Ajustes

Nombre Descripción
custom new topic text Aquí es donde ingresas los detalles para cada botón personalizado
inherit parent category Cuando está deshabilitado, las subcategorías no heredarán automáticamente el texto de la categoría principal

Hay dos ajustes, el principal es custom new topic text:

Esta configuración te permite establecer el filtro (nombre de etiqueta o categoría), el icono del botón “Nuevo tema” (esto no cambia los iconos en el compositor), así como el nombre de la acción en la parte superior del compositor y el botón “Crear tema” del compositor.

Hay una configuración adicional, habilitada por defecto, llamada inherit parent category. Cuando está habilitada, todas las subcategorías también tendrán su texto cambiado (a menos que se especifique lo contrario en la configuración).

:information_source: Ten en cuenta que si configuras una etiqueta, esta anulará la categoría seleccionada.

:bulb: Ideas para futuras mejoras

  • Texto localizable para diferentes idiomas
  • Soporte para combinaciones de categorías y etiquetas, y múltiples etiquetas

:discourse2: ¿Lo alojas tú? Los componentes de tema están disponibles para usar en nuestros planes Estándar, Business y Enterprise.

27 Me gusta

Eso está muy bien, muchas gracias :heart:

Hoy, estuve trabajando en una versión mucho más simple de esto usando api.customizeComposerText() :sweat_smile:

Esta es una solución mucho mejor. ¡Gracias @awesomerobot!

En mis experimentos, nunca pude anular la etiqueta del botón del Compositor para las categorías usando el plugin discourse-post-voting. Esto se convierte en un problema mayor cuando varias categorías están habilitadas para la votación de publicaciones.

Si puedo sugerir; habilitar el soporte para anular las etiquetas de discourse-post-voting sería una gran mejora. ( :

1 me gusta

¡Este componente de tema es genial! Una idea para llevarlo un paso más allá podría ser esta:

Si está cambiando el nombre del botón porque en realidad desea cambiar el tipo de tema, entonces debería cambiar el nombre en toda la *categoría.

Por ejemplo:
Tiene una categoría llamada Eventos. En efecto, cambiaría la palabra “tema” en toda la categoría a “eventos”. No es “Nuevo Tema”, es “Nuevo Evento”, en lugar de una lista de Temas, tendría una lista de Eventos, etc.

Ves esto en otras herramientas donde cambias el caso de uso principal de algo. Esto es lo que hace AirTable cuando creas una nueva tabla. Las tablas, por defecto, tienen “registros”.

Pero digamos que quiero crear una tabla llamada “Usuarios”, entonces puedo cambiar cada registro para que se llame Usuarios:

Tratar el componente de tema de esta manera nos permitiría, de forma fácil y efectiva, renombrar una categoría como una entidad más específica. Solicitudes de Soporte, Eventos, etc.

Encontré este componente de tema al buscar, porque quería cambiar esta palabra de “Tema” a “Eventos”:

3 Me gusta

@awesomerobot este componente de tema es increíble, ¡muchas gracias por él!

Noto que este componente de tema parece causar un comportamiento extraño con el CSS del botón Nuevo Tema.

Componente de tema deshabilitado:

Componente de tema habilitado:


También he notado que si bien cambia el botón “Crear Tema” en el compositor, lo cual es genial…

También cambia el texto del botón Responder a esa misma cadena, lo cual es menos que ideal porque no se está creando otro informe de error, es una respuesta :slight_smile:

¿Qué posibilidades hay de que se pueda agregar otro campo al editor para cambiar el texto del botón de respuesta (o dejarlo en blanco para que quede como Responder?

4 Me gusta

Disculpe, una última cosa: esto tampoco parece respetar el caso en que dos subcategorías (cada una de un padre diferente) tienen la misma ruta. por ejemplo:

  • padre1
    • sub1
  • padre2
    • sub1

En este caso, no puedo hacer que el componente de tema diferencie entre las dos subcategorías, y ambas comparten la misma configuración del editor.

3 Me gusta

Gracias por tus comentarios, ¡he hecho algunas actualizaciones! FIX: action, switch category to ID, ignore replies by awesomerobot · Pull Request #5 · discourse/discourse-customize-new-topic-button-text · GitHub

¡Pasé completamente por alto el botón de respuesta! Por ahora, lo he dejado como reply, pero tendría sentido una configuración separada para cambiar su texto.

Buen punto, parece que utilizar el ID de la categoría en lugar del nombre de la categoría en la configuración sería la mejor manera de evitar esto. Esto significa que cualquier configuración existente que tengas deberá actualizarse.

3 Me gusta

Parece que hay un nuevo error. Cuando este complemento está habilitado, crea dos botones de tema:

2 Me gusta

Sí, gracias por informarlo, algunos conectores cambiaron en Discourse; debería estar arreglado ahora si actualizas:

2 Me gusta

¿Es posible solucionar la diferencia en el tamaño del botón? (captura de pantalla antigua, su actualización más reciente solucionó el problema del doble botón)

1 me gusta

Sí, este botón debería tener la altura correcta ahora.

1 me gusta
Hmm, estoy intentando usar este componente sin éxito y veo muchas advertencias en mis registros como esta.

Mensaje (se informaron 4 copias)

[DiscourseJsProcessor] DEPRECACIÓN: Usar {{attrs}} para referenciar argumentos con nombre ha sido obsoleto. {{attrs.canCreateTopic}} debería actualizarse a {{@canCreateTopic}}. (‘discourse/components/custom-new-topic-button.hbs’ @ L2:C8) [id de deprecación: attrs-arg-access] Ver Ember.js - Deprecations para más detalles.
at theme-transpiler.js:3164:26752
at j.computed (theme-transpiler.js:3168:1693)
at j.computed (theme-transpiler.js:3168:161)
at j.computed (theme-transpiler.js:3168:1693)
at D (theme-transpiler.js:3168:1754)
at te (theme-transpiler.js:3168:1318)
at PathExpression (theme-transpiler.js:3198:21763)
at yo (theme-transpiler.js:3187:2776)
at Al (theme-transpiler.js:3187:3513)
at Ml (theme-transpiler.js:3187:3309)
at yo (theme-transpiler.js:3187:3013)
at Al (theme-transpiler.js:3187:3513)
at Ml (theme-transpiler.js:3187:3309)
at yo (theme-transpiler.js:3187:3013)
at Ml (theme-transpiler.js:3187:3350)
at yo (theme-transpiler.js:3187:3013)
at Al (theme-transpiler.js:3187:3513)
at Ml (theme-transpiler.js:3187:3309)
at yo (theme-transpiler.js:3187:3013)
at Bi (theme-transpiler.js:3187:3879)
at PA (theme-transpiler.js:3190:3002)
at Cf (theme-transpiler.js:3190:9856)
at Al (theme-transpiler.js:3176:35353)
at gf (theme-transpiler.js:3176:35600)
at D (theme-transpiler.js:3198:42250)
at Sft.o.precompile (theme-transpiler.js:3281:3078)
at dDe (theme-transpiler.js:3161:1003)
at e.CallExpression (theme-transpiler.js:3159:33796)
at h (theme-transpiler.js:10:111797)
at e.uPe [as _call] (theme-transpiler.js:59:16906)
at e.oPe [as call] (theme-transpiler.js:59:16726)
at e.lPe [as visit] (theme-transpiler.js:59:17700)
at t.visitQueue (theme-transpiler.js:59:40645)
at t.visitSingle (theme-tr…

Pila de llamadas

/var/www/discourse/lib/discourse_js_processor.rb:133:in block in create_new_context' mini_racer-0.8.0/lib/mini_racer.rb:273:in block in attach’
mini_racer-0.8.0/lib/mini_racer.rb:242:in call_unsafe' mini_racer-0.8.0/lib/mini_racer.rb:242:in block (2 levels) in call’
mini_racer-0.8.0/lib/mini_racer.rb:369:in timeout' mini_racer-0.8.0/lib/mini_racer.rb:241:in block in call’
mini_racer-0.8.0/lib/mini_racer.rb:240:in synchronize' mini_racer-0.8.0/lib/mini_racer.rb:240:in call’
/var/www/discourse/lib/discourse_js_processor.rb:168:in block in v8_call' /var/www/discourse/lib/discourse_js_processor.rb:167:in synchronize’

1 me gusta

Hmm, extraño, lo probé en la última versión de Discourse y todo funciona bien. Acabo de fusionar una actualización al componente que resolverá ese problema de depreciación, ¿puedes actualizar e intentarlo de nuevo?

1 me gusta

A mí también, no aparece después de varios intentos.

Lamentablemente, este maravilloso componente temático no parece funcionar bien con Custom Wizard Plugin 🧙

El plugin Wizard puede conectarse al botón de categoría a través de la configuración de la categoría:

Al usar tu componente, el botón cambia de nombre, pero al presionarlo ya no se inicia el Wizard seleccionado en la configuración de la categoría. Estaríamos encantados de usar tu componente en un sitio web de producción grande, pero ahora no podemos. Esperamos que se pueda solucionar. Sin presión :slight_smile:

No veo esto, tengo la misma configuración y mis botones funcionan. Es posible que necesites revisar otros plugins o componentes temáticos. Estoy en las últimas compilaciones, para tu información.

1 me gusta

Este es un pequeño componente agradable que puede agregar un acabado de atención al detalle a un sitio.

1 me gusta

Hola

Creo que tengo un error.

El texto del botón “Nuevo tema” ya no se puede modificar.
La modificación es efectiva para los otros botones.

Versión: 3.2.0.beta4-dev([4886c1fddc]

Gracias por tu ayuda (¡y por estas funciones!)

2 Me gusta

¡Gracias por el informe!

Parece que hay una regresión del último PR:

Convierte de la sintaxis this.args.<param>. a @<param>; sin embargo, la primera es necesaria ya que estamos dentro de un plugin outlet.

EDIT: Hice un PR :+1:

1 me gusta

Gracias por el PR @Arkshine. Esto debería estar arreglado en la actualización.

Esto también se incluirá en la actualización: FEATURE: add ability to customize "Reply" text by 3-w-c · Pull Request #7 · discourse/discourse-customize-new-topic-button-text · GitHub

Así que ahora se incluirá la opción de personalizar también el texto del botón de respuesta en el compositor y en las publicaciones (aún basado en la etiqueta y la categoría).

1 me gusta