特定の役割のユーザーを、X件の投稿(コアフォーラムのトピックまたは/および返信)を行った後、自動的に別の役割に変えることができるテクニックはありますか?
ユーザーが最初に自分のサイトに登録したときに、権限が制限されたロールに入れられる機能を実装したいのですが、フォーラムへの一定数の投稿(新しいトピックまたは既存への返信)の後、別の場所に入れられますCAPTCHAを必要とせず、リンクなどを投稿できる役割。コアForum
とアドバンスドフォーラムモジュールを使用して参考にしてください。
特定の役割のユーザーを、X件の投稿(コアフォーラムのトピックまたは/および返信)を行った後、自動的に別の役割に変えることができるテクニックはありますか?
ユーザーが最初に自分のサイトに登録したときに、権限が制限されたロールに入れられる機能を実装したいのですが、フォーラムへの一定数の投稿(新しいトピックまたは既存への返信)の後、別の場所に入れられますCAPTCHAを必要とせず、リンクなどを投稿できる役割。コアForum
とアドバンスドフォーラムモジュールを使用して参考にしてください。
回答:
ルールと統合し、数値比較に使用できる[user:post-count]のようなトークンを提供するUser Statsモジュールを見つけました。これが他の誰かを助けることを願っています。
ユーザー統計モジュールはD7のためのdevのバージョン(私はこの質問はD7についてですと仮定しています)があります。しかし、あなたの質問は目標モジュールの完璧なユースケースのように見えます(開示:私はそれのメンテナーです)。以下は、目標を使用した特定のケースの可能な構成です。
相対パスadmin/config/goals/manage
に移動し、「ゴールの追加」リンクを使用して、1つのゴールを説明付きで定義します(たとえば):
X件の投稿(主要なフォーラムトピックまたは/および返信)を作成します。
「X件の投稿(コアフォーラムのトピックまたは返信)を作成する」という目標を達成するには、完了するタスクを定義します。
目標を使用する(構成する)より高度な方法は、次のようにタスクを構成することです。
単一のユーザーがいくつかのタスクを完了するために行った進捗状況を追跡するには、ルールモジュールを使用して適切なルールを記述し、さまざまなタスクの完了に関連する、サイトで発生する関連イベントを記録するだけです。
例として上記で説明した目標/タスクの場合、次のようにトリガーされる2つの(非常に基本的な)ルールのみが必要です。
これらの2つのルールは、複数の目標の進捗状況を測定するために再利用できます(たとえば、目標に「1件の返信を投稿した後」のようなタスクがあり、2番目の目標が「10件の返信を投稿した後」のようなタスクを持っている場合)。
さらに、上記の課題は、課題の例として非常に単純です(基本)。ただし、これは、Rulesモジュールを介して追跡する方法を考えることができる実質的にすべてのエンティティに対して行うことができます。
ユーザーが目標に固有のすべてのタスクを完了すると、目標は自動的に完了とマークされます。しかし、それだけではありません。ユーザーが目標を達成したときにトリガーされる追加のルール(ルールイベント)を作成することもできます。これで、あなたの質問への答えは非常に簡単です:「...ユーザーを別の役割に変更する」ためのルールアクションを実行します...これはまさにあなたの質問が何についてであるかということですか?
上記の目標の(退屈な)説明の代わりに、(たとえば)「参加ユーザー」のような目標の説明を代わりに使用することもできます。どちらのBTWも、付与される役割の良い説明になります。
次に、(たとえば)さらに3つの(類似した)目標を定義し、それぞれに適切な一連のタスクを完了させる場合、目標(および/または役割)に同じようにラベル付けされた非常に同じ手法を使用できますDrupal.SEのなじみのあるもの、それは純粋に偶然です):
目標モジュールの詳細については、「Drupalサイトにゲーミフィケーションを実装してインセンティブを授与する方法」に対する私の回答を参照してください。
注:目標を使用するには、一般的な管理タスク(構成)のみが必要ですが、カスタムモジュール開発(必要な場合)にもさまざまなフックが付属しています。