Drupal 7の投稿の作成者にFollowボタンを実装して、ユーザーが次のことができるようにすることは可能ですか?
これは、作者にとって「Mashable Follow button」のように聞こえます。
これを実装する方法について何か提案はありますか?
Notifications モジュールには現在、2011年12月にリリースされたD7用の Alfaバージョン (この質問について)しかありません。
そのため、代わりに Flag モジュールを使用します。ユーザーが「フォロー」したい作者に「フラグ」を付けることができるように。エンティティ「users」に関連するフラグを使用する必要があります。これは非グローバルフラグです。おそらく、「著者をフォローする」(著者に「フラグを付ける」)や「著者のフォローをやめる」(以前にフラグを付けた著者を元に戻す)などのラベルで定義されています。
これを Rules モジュールの使用と組み合わせて、作成者によってコンテンツが更新されるたびに電子メールを送信します。一方、電子メールは、その作成者に "フラグを立てた"すべてのユーザー(=その作成者を "フォロー"したいと示したユーザー)に送信されます。更新されているコンテンツのサブセット(たとえば、選択したコンテンツタイプのみ)についてのみこのような電子メールを送信する場合は、適切な「条件」をルールに追加するだけです。
オプションで、いくつかのタイプの通知を送信する領域で、より多くのオプションについて Message モジュールを検討することもできます。これには、上記のようなフラグが必要です(たとえば、マシン名follow
を使用)。
その上、メッセージタイプとカスタムが必要ですルール、両方の詳細を以下に示します。また、これらのメッセージのカスタムViewを追加することもできます。
以下は、(自分のサイトにインポートするだけで)開始するために使用できる「a」メッセージタイプのエクスポートです。これは、ユーザーにフラグが立てられたときに作成されるメッセージを定義し、実際には以下のカスタムルールと連動します。このメッセージタイプにはマシン名user_following
があり、@following_user
のような置換トークンを使用します(必要に応じて両方に適応します。たとえば、必要に応じて@following_user
を@user_who_flagged
に変更します)。
{
"name" : "user_following",
"description" : "User following",
"argument_keys" : [ "@following_user" ],
"argument" : [],
"category" : "message_type",
"data" : {
"token options" : { "clear" : 0 },
"purge" : { "override" : 0, "enabled" : 0, "quota" : "", "days" : "" }
},
"language" : "",
"arguments" : null,
"message_text" : { "und" : [
{
"value" : "@following_user started following [message:user:name]",
"format" : "plain_text",
"safe_value" : "\u003Cp\u003E@following_user started following [message:user:name]\u003C\/p\u003E\n"
}
]
},
"rdf_mapping" : []
}
このメッセージタイプ(コンテンツタイプ ...と比較)を使用して、次の例のようなメッセージ(ノードと比較)を作成します。
Hillary.TrumpがDonald.Clintonをフォローし始めました
混乱を避けるために、上記のメッセージタイプのサンプルの[message:user:name]
は、メッセージを送信するユーザーtoであり、フラグを立てているユーザーではないことに注意してください。
次に、ユーザーにフラグが付けられたときにメッセージを作成するルール(ルールエクスポート形式)を示します。
{ "rules_somebody_started_following_you" : {
"LABEL" : "Somebody started following you",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"TAGS" : [ "user" ],
"REQUIRES" : [ "rules", "flag" ],
"ON" : { "flag_flagged_follow" : [] },
"DO" : [
{ "entity_create" : {
"USING" : {
"type" : "message",
"param_type" : "user_following",
"param_user" : [ "flagged-user" ]
},
"PROVIDE" : { "entity_created" : { "entity_created" : "Created entity" } }
}
},
{ "data_set" : {
"data" : [ "entity-created:arguments:following-user" ],
"value" : "[site:current-user]"
}
}
]
}
}
このルールの詳細:
follow
のフラグが付けられた後にトリガーされます。user_following
のメッセージを作成します。following_user
の変数を、作成するメッセージの代替トークンとして使用できるようにします。これにより、「フラグを設定したユーザー」(= [site:current-user]
のフラグが設定された場合)も含めることができます。作成するメッセージ。上記のルールとメッセージタイプを使用すると、作成される「メッセージ」が作成されます... "だから何?"と思うかもしれません。これはすべてエンティティAPIベースであるため、カスタムビューを作成して( Views を使用して)これらのメッセージを視覚化できます。 /user/nid/messages
のようなパスで表示されます。そのようなビューの唯一の制限はあなた自身の想像力ですが(それらのメッセージについて Charts を作成することもできます(たとえば、元のユーザー、日付などによって)。
Rules に慣れていない(十分/まだ)場合は、32(!!!)のすばらしい無料のビデオチュートリアル Learn the Rules framework をチェックしてください。おそらく、同様の 8ビデオチュートリアルのセットFlag モジュールについても同様です。
Message モジュールの詳細については、いくつかの興味深い ユースケース を参照してください コミュニティドキュメント で詳しく説明されています。および/またはビデオ紹介をチェックアウトします " Your Drupalサイトが話すことができます "(必要な場合は、実際に開始する03:30頃まで早送りできます)。
注:このアプローチは、あらゆる種類のユーザー(「作成者」だけでなく)にも使用できます。
Notifications モジュールがこの機能を提供します。 User SubscriptionsおよびNotifications UIサブモジュールを有効にします。
これは、拡張性とスケーラビリティを目的とした完全なサブスクリプション/通知フレームワークです。新しいイベントタイプ、サブスクリプションタイプ、または異なるユーザーインターフェイスを定義するプラグインをいくつでも使用できます。