Clés d'interpolation pour la personnalisation des modèles de texte et d'e-mails système

:bookmark: Ce guide fournit un aperçu détaillé des clés d’interpolation utilisées pour personnaliser les modèles de texte et d’e-mails système dans Discourse.

:person_raising_hand: Niveau d’utilisateur requis : Administrateur

Lorsque vous personnalisez le texte dans Discourse ou personnalisez des modèles d’e-mails spécifiques, vous avez peut-être remarqué que des variables de substitution sont disponibles dans certains modèles.

Dans Discourse, nous appelons cela des clés d’interpolation.

Comprendre les clés d’interpolation

Les clés d’interpolation sont des espaces réservés disponibles dans certains modèles Discourse. Elles vous permettent d’insérer du contenu dynamique dans vos modèles de texte et d’e-mails.

Exemple de clés d’interpolation pour le modèle d’e-mail Compte créé :

Ces clés, telles que %{username} ou %{site_name}, seront remplacées par des données réelles lors de l’envoi de l’e-mail.

En général, ces espaces réservés peuvent être déplacés dans le modèle auquel ils appartiennent, mais ils ne sont disponibles que dans ce modèle et ne peuvent pas être déplacés vers différents modèles, car ils sont tous pris en charge par le code serveur correspondant au modèle.

Cependant, il existe des clés d’interpolation supplémentaires autorisées dans les modèles de texte et d’e-mails.

Clés d’interpolation générales

Voici une liste de quelques clés d’interpolation générales que vous pouvez utiliser dans tous les modèles d’e-mails :

  • username : Le nom d’utilisateur de l’utilisateur
  • name : Le nom complet de l’utilisateur
  • name_or_username : Soit le nom complet de l’utilisateur, soit son nom d’utilisateur

Vous pouvez également utiliser toutes les clés system_messages.welcome_user dans les personnalisations de modèles de texte et d’e-mails tant qu’elles ont des sous-clés subject_template et text_body_template, car toutes devraient être gérées par la classe SystemMessage (voir system_message.rb pour le code Discourse associé).

Pour une liste complète des clés d’interpolation personnalisées autorisées, référez-vous à ALLOWED_CUSTOM_INTERPOLATION_KEYS dans le code source de Discourse pour translation_override.rb.

9 « J'aime »

Ce n’est pas correct. Actuellement, cela ne fonctionne que pour system_messages.welcome_user, mais nous pourrions l’étendre à toutes les autres clés. C’est du matériel pour pr-welcome.

4 « J'aime »

Merci de l’avoir signalé, cela a été mis à jour dans le guide.

2 « J'aime »

Salut !

Comment puis-je modifier la valeur de certaines de ces clés d’interpolation ? Par exemple, %{search_answer}

Merci !

Salut !
Il est indiqué que cette clé n’est pas valide :

P.S.
Je remplace dans le texte et non dans l’e-mail (est-ce que cela fait une différence) ? Merci !

Je ne pense pas que ceux-ci soient mondiaux et gratuits à utiliser partout.

1 « J'aime »

Merci @Jagster ! Je les utilise dans la personnalisation du texte, donc d’après le message du sujet, cela est censé fonctionner ?

Le sujet concerne en fait les modèles d’e-mails et ces textes. Ainsi, vous ne pouvez pas utiliser de clés d’interpolation en dehors du bon contexte. C’est pourquoi nous avons d’autres clés pour les e-mails, d’autres pour certaines invites d’IA, etc.

Bien sûr, les plugins peuvent faire beaucoup de choses, mais cette fois, pas immédiatement.

Et avertissement : je ne suis qu’un autre utilisateur final et je peux avoir horriblement tort aussi. Mais je suis à peu près sûr d’avoir raison — et c’est pourquoi votre tentative ne fonctionne pas :man_shrugging:

D’accord, merci beaucoup pour votre aide. Il semble que cela ne fonctionne même pas lorsqu’il est utilisé dans un modèle d’e-mail :

Mon pari est que vous pouvez utiliser %{username} dans les modèles « User did… », et que tous les autres modèles ne le prennent pas en charge.

Mais nous verrons demain quand tous les gourous seront réveillés.