Claves de interpolación para personalizar plantillas de texto y correos electrónicos del sistema

:bookmark: Esta guía ofrece una visión detallada de las claves de interpolación utilizadas para personalizar textos y plantillas de correo electrónico del sistema en Discourse.

:person_raising_hand: Nivel de usuario requerido: Administrador

Al personalizar texto en Discourse o personalizar plantillas de correo electrónico específicas, es posible que hayas notado que existen variables de marcador de posición disponibles en algunas plantillas.

En Discourse, a esto lo llamamos Claves de interpolación.

Comprender las claves de interpolación

Las claves de interpolación son marcadores de posición disponibles en ciertas plantillas de Discourse. Te permiten insertar contenido dinámico en tus textos y plantillas de correo electrónico.

Ejemplo de Claves de interpolación para la plantilla de correo electrónico Cuenta creada:

Estas claves, como %{username} o %{site_name}, se reemplazarán con datos reales cuando se envíe el correo electrónico.

En general, estos marcadores de posición pueden moverse dentro de la plantilla a la que pertenecen, pero solo están disponibles en esa plantilla y no se pueden mover a otras plantillas diferentes, ya que todos están respaldados por código del servidor vinculado a la plantilla correspondiente.

Sin embargo, ciertos grupos de plantillas permiten agregar claves de interpolación adicionales más allá de las que ya están presentes en la plantilla predeterminada.

Claves de interpolación adicionales

Mensaje del sistema de bienvenida al usuario

Para las plantillas system_messages.welcome_user, puedes agregar estas claves adicionales:

  • username: El nombre de usuario del usuario.
  • name: El nombre completo del usuario.
  • name_or_username: El nombre completo del usuario o su nombre de usuario.

Estos valores son proporcionados por la clase SystemMessage en tiempo de ejecución (consulta system_message.rb para ver el código relacionado de Discourse).

Correos electrónicos de notificación al usuario

Para user_notifications y plantillas de correo electrónico relacionadas (incluidas unsubscribe_mailing_list y unsubscribe_link), hay muchas claves adicionales disponibles, como topic_title, username, site_name, url, unsubscribe_url, entre otras.

Para obtener la lista completa y actualizada de todas las claves de interpolación personalizadas permitidas y a qué grupos de plantillas se aplican, consulta ALLOWED_CUSTOM_INTERPOLATION_KEYS en el código fuente de Discourse para translation_override.rb.

9 Me gusta

Eso no es correcto. Actualmente, eso solo funciona para system_messages.welcome_user, pero podríamos extenderlo a todas las demás claves. Esto es material pr-welcome.

4 Me gusta

Gracias por señalarlo, esto se ha actualizado en la guía.

2 Me gusta

Hola!

¿Cómo puedo modificar el valor de algunas de estas claves de interpolación? Por ejemplo, %{search_answer}

¡Gracias!

¡Hola!
Dice que esta clave no es válida:

P.D.
Estoy reemplazando en el texto, no en el correo electrónico (¿hace alguna diferencia?). ¡Gracias!

No creo que sean globales y de uso gratuito en todas partes.

1 me gusta

¡Gracias @Jagster! Las estoy usando en la personalización de texto, así que, según la publicación del tema, ¿se supone que funciona?

El tema en realidad trata sobre plantillas de correo electrónico y esos textos. Por lo tanto, no puedes usar claves de interpolación fuera del contexto adecuado. Es por eso que tenemos otras claves para correos electrónicos, otras para algunas indicaciones de IA, etc.

Claro, los complementos pueden hacer muchas cosas, pero esta vez no vienen listas para usar.

Y descargo de responsabilidad: soy solo otro usuario final y también puedo estar terriblemente equivocado. Pero estoy bastante seguro de que tengo razón, y por eso tu intento no funciona :man_shrugging:

Okay, muchas gracias por tu apoyo. Parece que ni siquiera funciona cuando se usa en una plantilla de correo electrónico:

Mi apuesta es que puedes usar %{username} en las plantillas de “El usuario hizo…”, y todas las demás plantillas no lo admiten.

Pero ya veremos mañana, cuando todos los gurús estén despiertos.