0

私は drupal 7 を初めて使用し、OG グループからの時間ベースのサブスクリプション解除のようなものを実装したいと考えていました。

OG グループにユーザーを追加しました。「コンピューター」というグループに既に追加されているユーザーの時間ベースのサブスクリプション解除を実装したいと考えています。

ユーザーは、'Tony' が今日、グループ 'Computers' に追加されたと言っています。今度は、ユーザー 'Tony' が 3 か月 (特定の期間) のサブスクリプション後にグループ 'Computers' からサブスクリプションを解除されることを望みます。

ユーザー「Tony」に通知メッセージを送信する必要があります。

すべてのプロセスは、システムの現在の日付と、ユーザー「Tony」がグループ「Computers」に参加した日付に基づいている必要があります。

解決策を教えてください。

4

1 に答える 1

1

rules モジュールを使用してみてください: http://drupal.org/project/rules

モジュールを有効にすると、サイトで cron が実行されるたびに実行されるルール (管理 » 構成 » ワークフロー » ルール) を作成できます。cron は毎時または毎日実行されると想定しています。

cron で実行する新しいルールでは、いくつかのアクションを追加する必要があります

  1. 特定のグループからグループ メンバーを取得する
  2. それらのメンバーをループする
  3. 各ユーザーの登録を解除する

それはあなたのために働きますか?


添加:

このためにグループやグループ メンバーのリストを取得するのに役立つもう 1 つの方法は、Views Bulk Operations モジュールをインストールして使用することです: http://drupal.org/project/views_bulk_operations

ルールはそれと統合されるため、次のことができる場合があります。

  1. クリーンに保ちたい特定のグループのすべてのメンバーを一覧表示する VBO ビューを作成します。必要に応じて、ビューのフィルターとして、メンバーであった時間を使用してください...
  2. cron で実行されるルールに戻り、[アクション] で次を選択します: [VBO ビューからエンティティ ID のリストを読み込む] (スクリーンショットを添付) ここに画像の説明を入力
  3. 次に、それらのユーザーにループを追加します (2 番目のアクション)。
  4. 次に、ユーザーの登録を解除するそのループのアクションを追加します (3 番目のアクション)。
于 2012-06-13T21:05:42.693 に答える