Correo electrónico de resumen de actualización usando plugin

Hola a todos,

Estoy buscando mejorar nuestro correo electrónico de resumen añadiendo una nueva sección: un cuadro que muestre una lista corta de trabajos (cada uno con un título y una ubicación) obtenidos de una API externa.

Lo que estoy intentando hacer:

  • Modificar la plantilla de correo electrónico existente:
    Quiero añadir un nuevo cuadro a nuestro correo electrónico de resumen actual que muestre las ofertas de trabajo.
  • Enfoque basado en plugins:
    Mi idea es crear un plugin que obtenga los datos de los trabajos de la API e inserte esta información en la plantilla del correo electrónico. He visto que algunas áreas de estos correos electrónicos se pueden editar a través de la interfaz de usuario, lo que me llevó a creer que podría ser posible modificar los archivos de plantilla subyacentes a través de un plugin.


El desafío:

No puedo acceder a estos archivos de plantilla desde el plugin. Esto plantea un par de preguntas:

  1. Acceso a los archivos de plantilla:
    ¿Es posible acceder y modificar estos archivos de plantilla de correo electrónico usando un plugin? Si es así, ¿cuál es el enfoque recomendado?
  2. Soluciones alternativas:
    Si el acceso directo a los archivos no es factible, ¿existen otros métodos o mejores prácticas para inyectar datos personalizados (como nuestras ofertas de trabajo) en el correo electrónico de resumen?

Agradezco cualquier información, experiencia o sugerencia que puedan tener sobre este enfoque. ¡Gracias de antemano por su ayuda!

1 me gusta

Algunas preguntas adicionales serían si un plugin, por ejemplo, pudiera crear/editar este archivo user_notifications.digest.custom.text.below_popular_topics. Estoy usando una instancia de Discourse autoalojada en docker.

En general, puedes hacer cualquier cosa en un plugin. No hay un sandbox que proteja los plugins del núcleo protegido.

El problema se trata más de aprender cómo hacerlo e implementarlo de manera que sobreviva a las actualizaciones.

Deberías mover esta consulta a Dev.

3 Me gusta

user_notifications.digest.custom.text.below_popular_topics esta es una clave para el sistema i18n de Discourse. En el código, la cadena traducida apropiada se obtendrá de la base de datos / configuración.

Mi instinto me dice que deberías buscar otra forma de implementar el comportamiento deseado, en lugar de cambiar este texto regularmente (que tendrías que cambiar para cada idioma de usuario utilizado en tu foro).

Una opción sería extender

para incluir tu contenido.

1 me gusta