プラグインを使ったダイジェストメールの更新

皆さん、こんにちは。

ダイジェストメールを強化するために、新しいセクションを追加したいと考えています。それは、外部APIから取得した短い求人リスト(各項目にタイトルと場所が表示される)を表示するボックスです。

やろうとしていること:

  • 既存のメールテンプレートの変更:
    現在のダイジェストメールに、求人情報を表示する新しいボックスを追加したいと考えています。
  • プラグインベースのアプローチ:
    APIから求人データを取得し、その情報をメールテンプレートに挿入するプラグインを作成するつもりです。これらのメールのいくつかの領域はUIから編集できるのを見たので、プラグインを通じて基盤となるテンプレートファイルを変更できるのではないかと考えました。


課題:

プラグイン内からこれらのテンプレートファイルにアクセスできません。そこで、いくつか質問があります。

  1. テンプレートファイルへのアクセス:
    プラグインを使用してこれらのメールテンプレートファイルにアクセスし、変更することは可能ですか?もし可能であれば、推奨されるアプローチは何ですか?
  2. 代替ソリューション:
    ファイルを直接編集することが現実的でない場合、カスタムデータ(求人情報など)をダイジェストメールに挿入するための他の方法やベストプラクティスはありますか?

このアプローチに関する洞察、経験、または提案をいただけると幸いです。ご協力ありがとうございます!

「いいね!」 1

例えば、プラグインでこのファイル user_notifications.digest.custom.text.below_popular_topics を作成または編集することは可能でしょうか?Dockerで自己ホスト型のDiscourseインスタンスを使用しています。

一般的に、プラグインで何でもできます。保護されたコアからプラグインを守るサンドボックスはありません。

問題は、それをどのように行うかを学び、アップデートに耐える方法で実装することに関するものです。

この問い合わせは Dev に移すべきです。

「いいね!」 3

user_notifications.digest.custom.text.below_popular_topics は Discourse の i18n システムのキーです。コード内で、適切な翻訳済み文字列がデータベース/設定から取得されます。

私の直感では、希望する動作を実装するには別の方法を探すべきです。なぜなら、このテキストを定期的に変更することになるからです(フォーラムで使用されているすべてのユーザー言語に対して変更する必要があります)。

1 つの方法は、以下を拡張することです。

あなたのコンテンツを含めるように。

「いいね!」 1