メインコンテンツまでスキップ

コンテンツの特定項目が更新されたらメールで通知する

概要

{assign_globals}のSmartyプラグインを使用すると、同一リクエスト中に呼び出されるトリガー間で共有可能なグローバル変数をアサインできます。
これにより、コンテンツの更新前後の値を比較可能です。
本チュートリアルでは{assign_globals}の使用例として、コンテンツの特定項目が更新されたらメールで通知する機能を実装してみます。

学べること

以下の手順で、コンテンツの特定項目が更新されたらメールで通知する機能を実装します。

コンテンツ定義に項目を設定する

コンテンツ定義に比較対象となる拡張項目を設定します。

以下の拡張項目を任意のコンテンツ定義に設定します。

親項目項目名項目設定
選択なし項目名:ステータス
識別子:status
選択形式
入力必須
1: 1
2: 2
3: 3

Image from Gyazo

コンテンツ定義の準備ができたらテスト用のコンテンツを追加しておきます。

カスタム処理を設定する

コンテンツの準備ができたら、カスタム処理を書いていきます。

[オペレーション] -> [カスタム処理]をクリックします。

Image from Gyazo

[追加]をクリックして、「コンテンツの更新前」と、「コンテンツの更新後」のカスタム処理を作成します。

Image from Gyazo

コンテンツの更新前

コンテンツの更新前に動作し、更新前のコンテンツの値をグローバル変数にアサインする処理を書きます。

項目
タイトルcapture_before_update_content
識別子capture_before_update_content
トリガコンテンツの更新前/対象のコンテンツ定義IDを指定
処理以下の内容
capture_before_update_content
loading...

Image from Gyazo

入力ができたら[追加する]をクリックしてカスタム処理を追加します。

コンテンツの更新後

コンテンツの更新後に動作し、更新後の値と、グローバル変数にアサインした更新前の値を比較して、変更があった場合は通知メールを送信する処理を書きます。

項目
タイトルcompare_before_and_after_content
識別子compare_before_and_after_content
トリガコンテンツの更新後/対象のコンテンツ定義IDを指定
処理以下の内容
compare_before_and_after_content
loading...
注意

to='test@example.com'の部分はご自身の通知先に変更してください。

Image from Gyazo

入力ができたら[追加する]をクリックしてカスタム処理を追加します。

動作を確認する

テスト用に追加したコンテンツのステータスの項目を更新すると、以下のように更新前後の値が通知されます。

Image from Gyazo

関連ドキュメント


サポート

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。