Group モジュールを使用します。グループをマークするフラグを作成します。グループにマークが付けられると、そのグループのすべてのメンバーにメールが送信されます。これを行う方法 ?
次のルールを作成しましたが、グループに関する「条件」には何も見つかりません。
{ "rules_email_groupe" : {
"LABEL" : "Email groupe",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules", "flag" ],
"ON" : { "flag_flagged_achats_groupes" : [] },
"DO" : [
{ "mail" : {
"to" : "[email protected]",
"subject" : "Invitation \u00e0 la vente group\u00e9e de [flagged-group:title]",
"message" : "Bonjour,\r\n\r\n\r\nle groupe [flagged-group:title], vous invite \u00e0 sa vente group\u00e9e.\r\nElle commencera [flagging:field-flag-date:value] et se terminera [flagging:field-flag-date:value2].\r\n\r\n\r\nCordialement,\r\nL\u0027\u00e9quipe [site:name]\r\n[site:url]\r\n\r\nPour rester inform\u00e9 des nouveaut\u00e9s et b\u00e9n\u00e9ficier de nos offres promotionnelles, suivez-nous sur :\r\nhttps:\/\/www.facebook.com\/S1biosecom\r\nhttps:\/\/Twitter.com\/S1biosecom\r\nhttps:\/\/plus.google.com\/+S1biosecom\r\nhttps:\/\/www.pinterest.com\/S1biosecom\r\n\r\nPS : ceci est un mail automatique, merci de ne pas y r\u00e9pondre.",
"from" : "[site:mail]",
"language" : [ "flagging-user:language" ]
}
}
]
}
}
助言がありますか?
私のセットアップの詳細:
定義したフラグの概要:
一部のフィールドに関する詳細情報(私は Display Suite も使用しています):
私が定義したフィールド Group Type "Entreprise":
更新:「 フラグによってトリガーされたルールコンポーネントにフラグフィールドの値を渡す方法」の回答に含まれているルールコンポーネントを使用する? "近づきつつありますが、次に示すように、そのルールコンポーネントに渡す2つの日付変数をどうするかを見つける必要があります。
含めたルールを見ると、ルールイベントは問題ないようです。しかし、明らかに Rules アクション(電子メールを送信する)は、1(ハードコードされた)電子メールIDにのみ送信することです。これを機能させる方法の詳細については、以下をお読みください...
グループにフラグを付けるために(あなたのものと同様の)フラグを作成します。私の場合、(サプライズ...) "Flag a group"と名付け、マシン名は "flag_a_group
"(このフラグのこのマシン名に続くものを独自のフラグのマシン名に置き換えてください)。
ルールコンポーネント "Send eMail to a all members of a Group"を作成します。これは次のように行うことができます。
ルールコンポーネントは次のようになります(ルールエクスポート形式)。
{ "rules_send_email_to_all_members_of_a_group" : {
"LABEL" : "Send eMail to all members of a Group",
"PLUGIN" : "action set",
"OWNER" : "rules",
"TAGS" : [ "group" ],
"REQUIRES" : [ "rules" ],
"USES VARIABLES" : { "group" : { "label" : "Group", "type" : "group" } },
"ACTION SET" : [
{ "entity_query" : {
"USING" : {
"type" : "group_membership",
"property" : "group",
"value" : [ "group" ]
},
"PROVIDE" : { "entity_fetched" : { "group_members" : "Group members" } }
}
},
{ "LOOP" : {
"USING" : { "list" : [ "group-members" ] },
"ITEM" : { "member_of_group" : "Member of group" },
"DO" : [
{ "drupal_message" : { "message" : "Group member named \u0022[member-of-group:user:name]\u0022 and eMail \u0022[member-of-group:user:mail]\u0022 will receive an eMail because of flagging this \u0022[group:group-type]\u0022 group titled \u0022[group:title]\u0022 and id \u0022[group:gid]\u0022" } },
{ "mail" : {
"to" : "[member-of-group:user:mail]",
"subject" : "eMail notification to group [group:title]",
"message" : "Hello [member-of-group:user:name],\r\n\r\nyou are a member of the group [group:title] (which is of type [group:group-type]).\r\n\r\nYou are receiving this eMail since user [site:current-user] just flagged this group.\r\n\r\nGreetings,\r\n\r\nPS: contact the site admin by eMail (via [site:mail]) for more details if needed",
"language" : [ "" ]
}
}
]
}
}
]
}
}
ルールUIを有効にしている場合は、上記のルールを自分のサイトにインポートするだけで、その中に何も微調整する必要はありませんが、実際の電子メールの件名とメッセージの内容を必要に応じて調整することができます(使用したいトークン)。
「グループに通知を送信してグループ通知を送信する」というルールを作成します。
ルールは次のようになります(ここに示すように無効になっている、ルールのエクスポート形式)。
{ "rules_send_a_group_notification_by_flagging_a_group" : {
"LABEL" : "Send a group notification by flagging a group",
"PLUGIN" : "reaction rule",
"ACTIVE" : false,
"OWNER" : "rules",
"REQUIRES" : [ "rules", "flag" ],
"ON" : { "flag_flagged_flag_a_group" : [] },
"DO" : [
{ "component_rules_send_email_to_all_members_of_a_group" : { "group" : [ "flagged-group" ] } }
]
}
}
ルールUIを有効にしている場合は、フラグのマシン名を自分のマシン名に適合させた後、上記のルールを自分のサイトにインポートするだけで済みます。ルールもenableすることを忘れないでください。
ルールコンポーネントに追加のパラメーターを追加して、関連する追加データをルール(ステップ3から)からルールコンポーネント(ステップ2から)に渡します。例えば。フラグに追加した電子メールに含める日付フィールド(質問のように、「」などの開始フィールド[フラグ:フィールド-フラグ-日付:値]など-flag-date:value2]。 "。
この詳細については、「 フラグによってトリガーされたルールコンポーネントにフラグフィールドの値を渡す方法は? 」の回答を参照してください。この質問のコンテキストでその回答を使用する方法についての詳細:
[flagging:field-flag-date:value]
および[flagging:field-flag-date:value2]
。しかし、あなたのスクリーンプリントはこれを示していません "field-flag-date
"が定義されています。flagging:field_flag_date
"。そして、ルールアクションで、両方に指定(ドリルダウン)できるようにする必要があります[flagging:field-flag-date:value]
および[flagging:field-flag-date:value2]
。だからここに行きます:3つだけの(堅牢な)モジュール( フラグ 、 ルール および グループ )は、電子メールをトリガーするために必要なものです承認されたユーザー(カスタムコードが0)によってフラグが付けられたグループのすべてのメンバー。
確かに、実際の電子メールはルールコンポーネントにハードコードされています(フラグを付けるときに電子メールの実際の件名とメッセージの内容を指定するために、2つの追加のフラグ「フィールド」を使用してそれを何かに変換するといいでしょう)。
別の解決策は Rules と [〜#〜] vbo [〜#〜] の組み合わせを使用することです。これには、電子メールで送信するグループメンバーをフィルタリングするために Views のすべての機能を利用できるという利点があります...