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.
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 ?
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.