7

メンバー リストには、ロール「ベンダー」が関連付けられている特定のユーザーがいます。そのようなメンバーはすべて、ログイン時に特定のページにリダイレクトされます。これはどのように達成できますか?

4

9 に答える 9

11

この猫の皮を剥ぐには複数の方法があります... これは私が好む Drupal 7 の方法です。

function hook_user_login(&$edit, $account) {
  $edit['redirect'] = 'node/123';
}
于 2012-11-23T15:01:51.787 に答える
4

DRUPAL7には2つの方法があります

1)アクションとトリガーを使用して、このhttp://drupal.org/node/298506を参照してください

2)カスタムモジュールを使用する場合

function YOURMODULE_user_login(&$edit, $account) {

 if (!isset($_POST['form_id']) || $_POST['form_id'] != 'user_pass_reset' || variable_get('login_destination_immediate_redirect', FALSE)) {

 if(in_array('THE-ROLE-WANTED-TO-REDIRECT',$account->roles)): 

drupal_goto('PATH');

 else: drupal_goto('user/'.$account->uid); 

endif; 

} 

}
于 2012-03-02T06:59:08.790 に答える
4

Drupalでアクションとトリガーを定義できます。

アクション(管理者/設定/アクション)-特定のページにリダイレクトします

トリガー(admin / build / trigger / user)-ユーザーがログインした後

これを試して。

編集(コメントを参照):

小さなモジュールを作成して、ユーザーのログインプロセスでユーザーの役割を確認し、必要に応じてリダイレクトします。 drupal_goto =>drupalのリダイレクト関数

hook_user =>ユーザー操作のトリガー

そして、ユーザーの役割について:

GLOBAL $user;
$roles = $user->roles;
$vendor = in_array('vendor', $roles);

$vendorはtrue/false値を保持し、リダイレクトするかどうかを決定します。

これを行う方法がわからない場合は、ここに投稿してください。モジュールを作成します。しかし、これはおそらくあなたのために将来のdrupaモジュールを書くための良い習慣でしょう。:)

于 2010-08-07T11:17:03.750 に答える
4

ルールを使用できます

イベント: ユーザーがログインしました。
状態: ユーザーに役割があります。
アクション: ページのリダイレクト

于 2012-05-24T12:54:24.597 に答える
2

LoginDestination: http://drupal.org/project/login_destinationなど、(Trigger+Actions 以外に) これを行うモジュールがあります。このDrupal フォーラムの投稿には、それに関する詳細情報もあります。

于 2010-08-07T16:50:45.003 に答える
2

hook_user の次の条件

if($op =='login') drupal_goto("your path");
于 2012-09-07T06:17:30.677 に答える
1

これは、コンテンツ アクセスログイン トボガンモジュールを組み合わせて使用​​することで実現できます。ページを制限し、ユーザーにログインしてページにアクセスするよう促すことができます。

于 2016-06-23T14:23:23.663 に答える