Crochets pour la personnalisation des emails de résumé et de notification

J’ai un client qui souhaite inclure des publicités dans les e-mails de résumé et de notification. J’ai « conçu » un plugin permettant d’ajouter du texte à l’e-mail de synthèse (qui, je pense, doit être mis à jour pour suivre les modifications apportées à ce modèle).

Je n’aime pas devoir remplacer l’intégralité du modèle pour personnaliser ces e-mails.

Serait-il possible d’ajouter une fonctionnalité permettant d’inclure du contenu dans ces e-mails sans remplacer le modèle ?

Le plugin fonctionne en récupérant un ID de sujet dans un champ personnalisé et en incluant le contenu raw du dernier message du sujet comme texte ajouté à l’e-mail (juste avant ou après l’en-tête). Bien que je trouve cette astuce assez ingénieuse, cela me semble être une solution trop fragile pour être proposée dans le noyau. Existe-t-il peut-être un moyen de permettre au plugin de publicités d’appliquer des publicités internes aux e-mails de synthèse et de résumé ?

Gérer un plugin fragile

Peut-être devrais-je écrire un test qui compare l’e-mail de synthèse avec le plugin désactivé à celui avec le plugin activé mais non configuré pour ajouter quoi que ce soit à l’e-mail ? Cela me permettrait de détecter les modifications apportées au modèle de base.

6 « J'aime »

Salut Jay

Ce plugin « fonctionne »-t-il avec Discourse 3.1 ? Ou vaut-il au moins la peine d’être testé ?

Vous pouvez essayer. Je ne pense pas avoir eu de leurs nouvelles depuis ce message, donc je suppose qu’ils n’ont pas mis à niveau depuis lors.

Vous pouvez me faire savoir si c’est cassé. Je n’aurai probablement pas le temps de le réparer gratuitement, mais je pourrais.

2 « J'aime »

D’après ce que je comprends, digest_custom_html et digest_custom_text implémentent déjà des hooks pour digest.html.erb et digest.text.erb. Donc, une implémentation de base de cette demande impliquerait d’ajouter plus de ces hooks ?

Une implémentation plus avancée pourrait fournir des sous-modèles, qui pourraient être utilisés pour fournir aux auteurs de plugins du code de style et de formatage maintenu par Discourse.

Est-ce que je comprends correctement que votre implémentation serait possible avec un digest_custom_html("before_preheader") ajouté à digest.html.erb ?

Je pense que oui. Je n’ai pas regardé de près comment cela fonctionne depuis des années.

Salut @thoka, as-tu réussi à implémenter quoi que ce soit via ces hooks ? Nous cherchons actuellement à injecter des segments sponsorisés simples via ces hooks.

Je l’ai fait. Tant que vous générez vos injections avec html_safe, tout va bien.

Il y a une discussion sur Fixing digest_custom_html to be treated as HTML (was: Overriding digest.html.erb)

2 « J'aime »