Chiavi di interpolazione per personalizzare modelli di testo ed email di sistema

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

:person_raising_hand: Livello utente richiesto: Amministratore

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

In Discourse le chiamiamo Chiavi di Interpolazione.

Comprensione delle chiavi di interpolazione

Le chiavi di interpolazione sono segnaposto disponibili in determinati modelli di Discourse. Ti consentono di inserire contenuti dinamici nei tuoi modelli di testo ed email.

Esempio di Chiavi di Interpolazione per il modello di email Account Creato:

Queste chiavi, come %{username} o %{site_name}, verranno sostituite con 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 dal codice del server corrispondente al modello.

Tuttavia, ci sono alcune Chiavi di Interpolazione aggiuntive consentite nei modelli di testo ed email.

Chiavi di Interpolazione Generali

Ecco un elenco di alcune chiavi di interpolazione generali che puoi utilizzare in tutti i modelli di email:

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

Puoi anche utilizzare tutte le chiavi system_messages.welcome_user nelle personalizzazioni dei modelli di testo ed email purché abbiano sottochiavi subject_template e text_body_template, poiché tutte dovrebbero essere gestite dalla classe SystemMessage (Vedi system_message.rb per il codice Discourse correlato).

Per un elenco completo delle chiavi di interpolazione personalizzate consentite, 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.