web-dev-qa-db-ja.com

コメントのポスターは、選択したユーザーに新しいコメントを通知するにはどうすればよいですか?

ノードにコメントを書き込むときに、その新しいコメントについて(電子メールで)通知を受け取るユーザーを選択できるようにしたいと考えています。 Basecampにはこの機能があり、とてもクールだと思います。

これはカスタマイズなしで可能ですか?著者にコメントを通知する方法は知っていますが、これは異なります。

5
Jose San Pedro

ノードにコメントを書くとき、その新しいコメントについての通知を受け取るユーザーを選択できるようにしたいと思います。

1)ダウンロード ルール および エンティティリファレンス モジュール。

2)ルールを有効にする、ルールUI(ユーザーインターフェイス、これが必要)、およびエンティティリファレンス

3)コメント欄

  • Entity ReferenceAutocomplete(tag style)のウィジェットでフィールドを追加します

例:私はラララに名前を付けました(下の画像をクリックすると拡大します)

enter image description here

4)フィールド設定:

  • ターゲットタイプとして[ユーザー]を選択します

enter image description here

[フィールド設定の保存]をクリックした後、別の画面に移動し、下にスクロールしてNumber of valuesを見つけてUnlimitedに変更し、変更内容を保存。

enter image description here

5)/admin/config/workflow/rules/reaction/addに移動して、新しいルールを追加します

  • イベントに反応:新しいコメントを保存した後
  • タイプで制限:コンテンツタイプを選択します(この例では、記事のコメントがラララフィールドを配置する場所であるため、記事のコメントです)。

enter image description here

6)クリックループを追加

  • データセレクター:comment:field-lalala(エンティティ参照フィールドにlalalaという名前を付けたことを思い出してください) enter image description here

7)[アクションの追加]をクリックしますが、ループからのアクションです!

enter image description here

8)選択プロパティでエンティティを取得

  • エンティティタイプ:ユーザー
  • プロパティ:メール
  • データセレクター:list-item:mail
  • 結果数の制限:効果がある場合に備えて、ここに大きな数値を入力します。 (ループしているので、私はそうは思わないが、100%確実ではない)

enter image description here

9)ループに別のアクションを追加し、今度はAdd Mailを追加します

データ選択ボタンへの切り替えをクリックします。

enter image description here

宛先:list-item:mail

enter image description here

最終結果は次のようになります

enter image description here

次に、新しいコメントを追加します。

エンティティ参照フィールドでは、オートコンプリート(タグスタイル)を使用しているため、ユーザー名を入力してユーザーを選択します。次に、カンマ,を追加してユーザーを追加します

例: enter image description here

コメントを投稿すると、参照されているすべてのユーザーに電子メールが送信されます。

6
No Sssweat

私の知る限り、これはDrupalコアを使用する場合にのみ可能であるため、「カスタマイズ」を行う必要があります。これまでのところ、悪いニュースは...良いニュースは、 Rules このような通知を送信するルールを作成するモジュール。

ただし、質問の課題は「どのユーザーが通知を取得する必要があるか」です。数十人、または数百人(または数千人)のユーザーがいる場合、選択リストのようなものを使用することは私には選択肢のように思えません。そのため、 Flag モジュールを使用して、各ユーザーに「コメントを投稿するたびにこれらのユーザーに通知する」(いわゆる「プライベート」フラグを使用する)ように指示することをお勧めします。

ルールとフラグの両方が用意されていると、コメントの作成者によってフラグが付けられたユーザーに投稿されるコメントの通知を送信するのは簡単です。そのためには、コミュニティのドキュメントで メッセージスタック についても確認することをお勧めします。これにより、「電子メールを送信する」だけでなく、さらに多くのことが可能になります。

以前のアプローチでは、1人のユーザーが投稿したコメントごとに、そのような通知を常に同じ(フラグ設定された)ユーザーのセットに送信します。フラグが付けられたユーザーのリストが新しいコメントを投稿する前に調整されない限り(より多くのユーザーにフラグを付けるか、以前にフラグが付けられた一部のユーザーのフラグを解除することにより)。ただし、 Flag Lists モジュールも使用することで、これをより柔軟にすることができます。つまり各ユーザーは独自のフラグのセットを作成できます(「Googleサークル」に似ていますか?)。 フラグリスト の詳細(プロジェクトページから):

フラグリストを使用すると、通常のユーザーはリストと呼ばれる無制限のプライベートフラグを作成できます。フラグリストはフラグを拡張します。フラグでは、サイト管理者が、承認されたユーザーが使用できるフラグを作成します。フラグリストでは、ユーザーは自分のリストを作成し、自分のリストにのみ追加できます。

2
Pierre.Vriens