web-dev-qa-db-ja.com

ユーザープロファイルの分類用語に基づいてメールを送信するにはどうすればよいですか?

私はプロファイル2を使用しており、特定のプロファイルタイプで選択できる分類用語を(1つまたは複数)持っています。選択リストにこの分類用語も含まれるWebフォームがあります。 Webフォームが送信されたときに、これらのプロファイルのいずれかの多くの分類用語のいずれかに一致する場合、それらのプロファイルに電子メールを送信します。 Rules を取得する方法がわかりません。どんな助けでもありがたいです。

これが今のところです。メッセージを投稿してテストするだけですが、メールで送信したいのですが、比較する必要のあるデータがルールで見つかりません。

{ "rules_webform_email" : {
"LABEL" : "Webform Email",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "webform_rules", "rules" ],
"ON" : { "webform_rules_submit" : [] },
"IF" : [
  { "webform_has_id" : {
      "form_id" : [ "form_id" ],
      "selected_webform" : { "value" : { "webform-client-form-3" : "webform-client-form-3" } }
    }
  },
  { "node_is_of_type" : { "node" : [ "node" ], "type" : { "value" : { "webform" : "webform" } } } }
],
"DO" : [
  { "drupal_message" : { "message" : "Test submit webform\r\n[data:project_type-value]\r\n[data:project_description-value]" } }
]
}
}

Project_typeは、Webフォームの分類用語です。プロファイルのfield_service_provided(用語参照フィールドと同じ分類法の語彙)と比較する必要があります。

2

あなたの質問はそうではありませんが、あなたのエクスポートされたルールのフォーマットから、それがD7についてであることが明らかです。あなたの質問への可能な答えは、あなたがすでに持っているルールのルールアクションを置き換えることによって、そして以下でさらに詳述するように、 Views Rules モジュールを使用することによってです。

1.ビュールールモジュールについて

Views Rules モジュールは Views データを Rules で利用可能にし、動的データの直感的なルール設定を可能にします。プロジェクトページの詳細:

...は、「Rules」ビュー表示で構成された2種類の要素を Rules で提供します。

  • Viewsループ:ビューループは通常のルールループに似ていますが、ビュー結果の行をループできます。

    enter image description here

  • ビュー結果行の収集(アクション):このアクションは、すべてのビュー結果行の各変数をルールで使用するリスト変数に収集します。

Tip:フィールドがエンティティ識別子の場合、ビューで変数のデータ型を選択するとき(例Node ID)、データタイプをエンティティタイプ(つまりノード)に設定して、Rulesの変数をエンティティとして直接使用できます!

2.表示タイプ「ルール」のビューを作成します

Views Rules モジュールを有効にした後、 Views を使用して、電子メールの送信先となるユーザーのビューを作成できます。表示タイプのビューの追加Rules(重要、それが作る鍵ですそれはうまくいく!)このような表示を追加する方法は次のとおりです。

enter image description here

次に示すように、「フィールド情報の編集」というリンクを使用して、行変数を構成します。

enter image description here

このスクリーンプリントに示されているものと同様の変数を1つ以上使用する必要がある場合があります。

enter image description here

3.表示タイプ「ルール」のビューを使用してルールを作成します

次のガイドラインを使用して、現在のルールのルールアクションを置き換えます。

  • Add view loopというリンクを使用してビューループを追加し、前の手順で作成した「ルール」表示を選択します。
  • パラメータと変数名を設定します。
  • ビューループに含まれる各ユーザーについて、前の手順の最後に構成した変数を使用して、ルールアクション「電子メールを送信」を実行します(必要に応じて、前の手順に戻って同様の変数を追加する必要がある場合があります)。前の手順で提案したようにRules行変数を作成した場合、実際の電子メールは[usermail:value][username:value]などのトークンを使用できます。
2
Pierre.Vriens