ユーザーステータスを変更するために、Viewsモジュールでユーザーリストを作成したいと思います。 Views Bulk Operationsモジュールを使用していますが、Change statusまたはActive userアクションがありません。
ワンクリックでビューテーブルリストのユーザーを有効(またはステータスを変更)するにはどうすればよいですか?
独自のCookieをロールして、「質問またはステータスの変更」などのVBO操作を自分で作成する別のアプローチ。その方法の詳細については、以下をお読みください...
Rules モジュールを使用して、必要な可能性のあるすべてのルール条件を含むルールコンポーネントを作成し、ルールアクションを使用してステータスまたはアクティブユーザーを変更します、このルールコンポーネントのパラメーターとして指定されたユーザーの場合。
以下は、それに使用できるそのようなルールコンポーネントです(ルールエクスポート形式)。
{ "rules_change_status_of_a_blocked_user_to_active" : {
"LABEL" : "Change status of a blocked user to active",
"PLUGIN" : "rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules" ],
"USES VARIABLES" : { "user_to_activate" : { "label" : "User to be activated", "type" : "user" } },
"IF" : [ { "user_is_blocked" : { "account" : [ "user-to-activate" ] } } ],
"DO" : [ { "user_unblock" : { "account" : [ "user-to-activate" ] } } ]
}
}
それについていくつかの詳細:
active
ユーザーのステータスをactive
に変更しようとしても意味がありません)。active
に変更します。ルールUIを有効にしている場合は、上記のルールコンポーネントを自分のサイトにインポートするだけです。インポートが完了したら、次のように単体テストできます。
uid
をUser identifierの値として入力し、 Execute その下のボタン。active
になるはずです(これにより、このルールコンポーネントのユニットテストが完了します)。「ステータスまたはアクティブユーザーの変更」などのVBOアクションを実行できるようにするユーザーの適切なビューを作成します。次に、そのビューを ビューの一括操作 を使用するビューに変換し、「 ルールを使用してVBOビューのカスタム一括操作を作成する方法 」に記載されている手法を使用します。 。これにより、前のステップ1のルールコンポーネントを使用できるようになります。
アイデアを得るには、 VBOでのルールコンポーネントの使用 "についてのビデオを見てください。これは、(唯一の)1パラメータを持つルールコンポーネントを使用しています。さらに必要な場合は、後続の"- 複数のパラメーターを持つルールコンポーネントを使用 "ビデオ。
注意:数千人のユーザーのように一度に処理することは、非常に困難です(メモリ要件など)。そのため、 " VBO設定の詳細 "についてのビデオもご覧になることをお勧めします... VBOを使用してそれらを一度にすべて処理するように誘惑される前に...
エンティティフォームとルールがある場合は、ユーザーへのエンティティ参照を使用してエンティティフォームを作成し、優先するアクションに別のフィールドを追加し、ルールを使用してアクションを実行します。
[〜#〜] vbo [〜#〜] の有効なビューの結果を処理して(== --- ==) Rules、ただし、ルールは2つのルールアクションを実行します。
詳細については、チュートリアル「 VBOが有効なビューの結果をルールで処理する方法 」を参照してください。