web-dev-qa-db-ja.com

獲得したユーザーポイントの量に応じてカスタムバッジを追加するにはどうすればよいですか?

私のウェブサイトでは Vote Up/Down モジュールと ser Points モジュールが有効になっていて、ルール Rules を使用してユーザーポイントを追加していますすべての投票は自動的に行われます。

ユーザーポイントに応じてカスタムバッジを追加する方法は?

たとえば、ユーザーのユーザーポイントが100〜150の場合、ユーザーのバッジは「初心者」になります。ユーザーが150〜200ポイントを獲得している場合、バッジは「通常」となり、継続します...

Achievements モジュールで試しましたが、難しいようです!

では、ユーザーポイントに応じてカスタムバッジを追加する方法を教えてください。

4
rakibtg

ユーザーポイントと明示的に統合する ser_badges モジュールを単に使用しないのはなぜですか?

userpoints_badges
Integrates Userpoints with the User Badges module.

serpoints contrib modules list を確認してください。使用できるツールが他にもあるかもしれません。

1
schnippy

Achievements モジュールを使用するために必要なスキルがない場合、または単にそのようなコーディングをしたくない(またはそのようなスキルを持つ誰かを雇いたくない)場合は、可能な代替手段として Goals モジュール(開示:私はその管理者です)を確認します。使用を開始するには、一般的な管理タスク(構成)のみが必要ですが、カスタムモジュール開発(必要な場合)にもさまざまなフックが付属しています。

ユーザーポイントに応じてカスタムバッジを追加」するには(質問のように)、次のようにします。

  • 使用する各バッジの目標を定義します。あなたの場合、これらの目標は当てはまる可能性があります:

    • 目標1:「初心者バッジを受け取る」。
    • 目標2:「Regularバッジを受け取る」。
  • 目標1を完了するために必要なタスクを定義します。たとえば、「少なくとも100ユーザーポイントを獲得する」などです(必要に応じてタスクを追加できますが、この場合は1つだけで十分です)。同様のタスクを定義して、目標2(「少なくとも150ユーザーポイントを獲得する」など)を完了します。

  • Rules モジュールを使用して、ユーザーにユーザーポイントが付与されたイベントをキャプチャし、ルールアクションを「タスクの進行状況を記録」に追加します(必要に応じてルール条件を追加します)。

上記の構成が適切であれば、 Goals は、どのユーザーがどの目標を達成したかを確認します。また、「ユーザーが達成した目標」に関するルールイベントも提供します。そのルールイベントを使用して、必要なバッジを付与するのに適したルールアクションを実行できます。

ただし、 Goals では、目標の画像を構成することもできます。また、「完了した目標」を示す Views ブロックが付属しています。そのため、その画像を使用します(ニーズに合っている場合)。または、提供されたビューを使用して、カスタムバージョンを作成します。または、いくつかのルールアクションを使用して、 ユーザーバッジ を使用していくつかのバッジを割り当てます。これは 私の回答 に示されているものと同様ですが、「 一定数のユーザーポイントを獲得した後に新しいユーザーバッジを追加する方法? "。

リソースなどを含む Goals モジュールの詳細については、「 a Drupalサイトと賞のインセンティブにゲーミフィケーションを実装する方法) ? "。

0
Pierre.Vriens