E-mail de resumo de atualização usando plugin

Olá a todos,

Estou buscando aprimorar nosso e-mail de resumo adicionando uma nova seção — uma caixa que exibe uma curta lista de empregos (cada um com título e local) obtidos de uma API externa.

O que estou tentando fazer:

  • Modificar o Modelo de E-mail Existente:
    Quero adicionar uma nova caixa ao nosso e-mail de resumo atual que exibirá as listagens de empregos.
  • Abordagem Baseada em Plugin:
    Minha ideia é criar um plugin que recupere dados de empregos da API e insira essas informações no modelo de e-mail. Vi que algumas áreas desses e-mails podem ser editadas pela interface do usuário, o que me levou a acreditar que seria possível modificar os arquivos de modelo subjacentes por meio de um plugin.


O Desafio:

Não consigo acessar esses arquivos de modelo de dentro do plugin. Isso levanta algumas perguntas:

  1. Acessando Arquivos de Modelo:
    É possível acessar e modificar esses arquivos de modelo de e-mail usando um plugin? Se sim, qual é a abordagem recomendada?
  2. Soluções Alternativas:
    Se o acesso direto aos arquivos não for viável, existem outros métodos ou práticas recomendadas para injetar dados personalizados (como nossas listagens de empregos) no e-mail de resumo?

Agradeço qualquer insight, experiência ou sugestão que você possa ter em relação a essa abordagem. Obrigado antecipadamente pela sua ajuda!

1 curtida

Algumas perguntas adicionais seriam se um plugin, por exemplo, poderia criar/editar este arquivo user_notifications.digest.custom.text.below_popular_topics? Estou usando uma instância Discourse auto-hospedada em docker.

Em geral, você pode fazer qualquer coisa em um plugin. Não há sandbox para proteger os plugins de um núcleo protegido.

O problema está mais em aprender como fazer isso e implementá-lo de uma maneira que sobreviva às atualizações.

Você deve transferir essa dúvida para Dev.

3 curtidas

user_notifications.digest.custom.text.below_popular_topics esta é uma chave para o sistema de internacionalização (i18n) do Discourse. No código, a string traduzida apropriada será buscada no banco de dados / configuração.

Minha intuição é que você deve procurar outra maneira de implementar o comportamento desejado, em vez de alterar regularmente este texto (que você teria que alterar para cada idioma de usuário usado em seu fórum).

Uma maneira seria estender

para incluir seu conteúdo.

1 curtida