web-dev-qa-db-ja.com

ユーザー名が使用されているかどうかを確認するにはどうすればよいですか?

「コース」コンテンツの作成では、「インストラクター」としてダミーのユーザーを作成しています。これが 関連する質問 です。

ユーザーを作成するルールに、その名前のユーザーが既に存在するかどうかをチェックする条件を追加できませんでした。存在する場合、アクション(新しいユーザーの作成)は発生しません。

どうやってやるの?

drupal 7.でルールモジュールを使用しています。

5
turzifer

ユーザーが存在するか存在しないかの条件を追加する必要があり、ユーザーが存在するかどうかに応じて、2つのアクションを作成できます。

問題は、これをそのままではルールで実行できないことです。このような条件を追加することは難しくありませんが、カスタムモジュールにカスタムコードが必要です。これがオプションでない場合、あなたが求めていることは不可能です[〜#〜] afaik [〜#〜]、それが存在しないためです。

4
googletorp

Rules 7.x-2.2では、ユーザーが存在するかどうかを確認することは、カスタムコーディングなしで可能です。ルール管理者の 説明 を参照してください

ユーザーが存在するかどうかを確認するには、以下を使用します。

  1. 条件:「エンティティはプロパティごとに存在します
  2. エンティティタイプ:「ユーザー」
  3. プロパティ:「名前」(またはその他のユーザーフィールド)。
  4. 値:「講師名」(関連する投稿に基づく。それ以外の場合は)。
  5. この条件を無効にします。 (ユーザーが存在する場合にルールが起動しないようにするため)

これは、1つのリアクションルールで、またはたとえば「条件」コンポーネント。コンポーネントを使用する場合、ノードオブジェクトをコンポーネントに(コンポーネント設定で)変数として渡し、コンポーネントで「インストラクター名」を使用できるようにすることが重要です。

関連する質問で述べたように、問題のコンテンツタイプに「コース」タイプが含まれていることを保証する事前条件がほとんど常に必要であると述べました。それ以外の場合、このルールは、実行したくない場合、または実行しない場合に実行されます。

4
Eric.chowanski