Chiavi di interpolazione per personalizzare i template di testo e di email di sistema

:bookmark: Questa guida fornisce una panoramica dettagliata delle chiavi di interpolazione utilizzate per personalizzare testi e modelli di email di sistema in Discourse.

:person_raising_hand: Livello utente richiesto: Amministratore

Mentre personalizzi il testo in Discourse o modelli di email specifici, potresti aver notato che in alcuni modelli sono disponibili variabili segnaposto.

In Discourse, queste vengono chiamate Chiavi di interpolazione.

Comprendere le chiavi di interpolazione

Le chiavi di interpolazione sono segnaposto disponibili in determinati modelli di Discourse. Consentono di inserire contenuti dinamici nei tuoi testi e modelli di email.

Esempio di Chiavi di interpolazione per il modello di email Account Created:

Queste chiavi, come %{username} o %{site_name}, verranno sostituite con i dati effettivi quando l’email viene inviata.

In generale, questi segnaposto possono essere spostati all’interno del modello a cui appartengono, ma sono disponibili solo in quel modello e non possono essere spostati in modelli diversi, poiché sono tutti supportati da codice server legato al modello corrispondente.

Tuttavia, alcuni gruppi di modelli consentono l’aggiunta di chiavi di interpolazione aggiuntive oltre a quelle già presenti nel modello predefinito.

Chiavi di interpolazione aggiuntive

Messaggio di sistema di benvenuto all’utente

Per i modelli system_messages.welcome_user, è possibile aggiungere queste chiavi aggiuntive:

  • username: Il nome utente dell’utente
  • name: Il nome completo dell’utente
  • name_or_username: Il nome completo dell’utente o il nome utente

Questi valori sono forniti dalla classe SystemMessage in fase di esecuzione (consulta system_message.rb per il relativo codice di Discourse).

Email di notifica all’utente

Per i modelli di email user_notifications e relativi (inclusi unsubscribe_mailing_list e unsubscribe_link), sono disponibili molte chiavi aggiuntive, tra cui topic_title, username, site_name, url, unsubscribe_url e altre.

Per l’elenco completo e aggiornato di tutte le chiavi di interpolazione personalizzate consentite e ai gruppi di modelli a cui si applicano, fai riferimento a ALLOWED_CUSTOM_INTERPOLATION_KEYS nel codice sorgente di Discourse per translation_override.rb.

9 Mi Piace

Non è corretto. Attualmente funziona solo per system_messages.welcome_user, ma potremmo estenderlo a tutte le altre chiavi. Questo è materiale per pr-welcome.

4 Mi Piace

Grazie per averlo segnalato, è stato aggiornato nella guida.

2 Mi Piace

Ciao!

Come posso modificare il valore di alcune di queste chiavi di interpolazione? Ad esempio, %{search_answer}

Grazie!

Ciao!
Dice che questa chiave non è valida:

P.S.
Sto sostituendo nel testo non nell’email (fa differenza)? Grazie!

Non credo che quelli siano globali e gratuiti da usare ovunque.

1 Mi Piace

Grazie @Jagster! Li sto usando nella personalizzazione del testo, quindi in base al post dell’argomento, dovrebbe funzionare?

L’argomento riguarda in realtà i modelli di email e quei testi. Pertanto, non è possibile utilizzare le chiavi di interpolazione al di fuori del contesto corretto. Ecco perché abbiamo altre chiavi per le email, altre per alcuni prompt AI, ecc.

Certo, i plugin possono fare molte cose, ma questa volta non sono pronti all’uso.

E disclaimer: sono solo un altro utente finale e potrei sbagliarmi terribilmente. Ma sono abbastanza sicuro di avere ragione, ed è per questo che il tuo tentativo non funziona :man_shrugging:

Ok, grazie mille per il tuo supporto. Sembra che non funzioni nemmeno se usato in un modello di email:

La mia scommessa è che puoi usare %{username} nei template “User did…”, e tutti gli altri template non lo supportano.

Ma vedremo domani, quando tutti i guru si saranno svegliati.