Chaves de interpolação para personalizar modelos de texto e de email do sistema

:bookmark: Este guia fornece uma visão geral detalhada das chaves de interpolação usadas para personalizar modelos de texto e e-mail do sistema no Discourse.

:person_raising_hand: Nível de usuário necessário: Administrador

Ao Personalizar texto no Discourse ou Personalizar modelos de e-mail específicos, você pode ter notado que existem variáveis de espaço reservado disponíveis em alguns modelos.

No Discourse, chamamos essas de Chaves de Interpolação.

Entendendo as chaves de interpolação

As chaves de interpolação são espaços reservados disponíveis em certos modelos do Discourse. Elas permitem que você insira conteúdo dinâmico em seus modelos de texto e e-mail.

Exemplo de Chaves de Interpolação para o modelo de e-mail Conta Criada:

Essas chaves, como %{username} ou %{site_name}, serão substituídas por dados reais quando o e-mail for enviado.

Em geral, esses espaços reservados podem ser movidos dentro do modelo ao qual pertencem, mas eles estão disponíveis apenas nesse modelo e não podem ser movidos para modelos diferentes, pois todos são suportados por código de servidor correspondente ao modelo.

No entanto, existem algumas Chaves de Interpolação adicionais permitidas em modelos de texto e e-mail.

Chaves de Interpolação Gerais

Aqui está uma lista de algumas chaves de interpolação gerais que você pode usar em todos os modelos de e-mail:

  • username: O nome de usuário do usuário
  • name: O nome completo do usuário
  • name_or_username: O nome completo ou nome de usuário do usuário

Você também pode usar todas as chaves system_messages.welcome_user em personalizações de modelos de texto e e-mail, desde que tenham subchaves subject_template e text_body_template, pois todas devem ser tratadas pela classe SystemMessage (Veja system_message.rb para o código relacionado do Discourse).

Para uma lista completa de chaves de interpolação personalizadas permitidas, consulte ALLOWED_CUSTOM_INTERPOLATION_KEYS no código-fonte do Discourse para translation_override.rb.

9 curtidas

Isso não está correto. Atualmente, isso funciona apenas para system_messages.welcome_user, mas poderíamos estender isso para todas as outras chaves. Este é material para pr-welcome.

4 curtidas

Obrigado por apontar isso, isso foi atualizado no guia.

2 curtidas

Olá!

Como posso modificar o valor de algumas dessas chaves de interpolação? Por exemplo, %{search_answer}

Obrigado!

Olá!
Diz que esta chave não é válida:

P.S.
Estou substituindo no texto, não no e-mail (faz diferença)? Obrigado!

Não acho que esses sejam globais e gratuitos para usar em todos os lugares.

1 curtida

Obrigado @Jagster! Estou usando-os na personalização de texto, então, com base na postagem do tópico, deveria funcionar?

O tópico é, na verdade, sobre modelos de e-mail e esses textos. Portanto, você não pode usar chaves de interpolação fora do contexto correto. É por isso que temos outras chaves para e-mails, outras para alguns prompts de IA, etc.

Claro, plugins podem fazer muitas coisas, mas desta vez não de forma nativa.

E aviso: sou apenas mais um usuário final e posso estar completamente errado também. Mas tenho certeza de que estou certo — e é por isso que sua tentativa não funciona :man_shrugging:

Ok, muito obrigado pelo seu apoio. Parece que não está funcionando nem mesmo em um modelo de e-mail:

Minha aposta é que você pode usar %{username} em modelos “User did…”, e todos os outros modelos não o suportam.

Mas veremos amanhã, quando todos os gurus acordarem.