2017-02-09 4 views
1

私はOctoberCmsの新しいプラグインをやっています。いくつかの特定のドメインのフロントエンド登録を制限したいと思います。イベントを聞く:ユーザー::作成

私はこれを試してみました:

class Plugin extends PluginBase 
{ 
[......] 
    public function boot() 
    { 
     // Listen for user creation 
     Event::listen('eloquent.creating: October\Rain\Auth\Models\User', function($model) { 
     { 
      $this->checkDomains($user); 
      [.....] 
     } 
    } 
} 

しかし、私のリスナーが動作していません。イベントが何であるか知っていますか?新しいアカウントが作成される前に耳を傾ける必要がありますか?あなたはこのようなモデルの内部イベントの全てに結合することができ

おかげ

答えて

3

User::extend(function($model) { 
    $model->bindEvent('model.beforeSave', function() use ($model) { 
     // do something 
    }); 
}); 

あなたはまたbeforecreateためafterupdatesavefetchdelete

+0

彼は、登録を制限したい場合は、彼は 'beforeCreate'イベントではない' beforeSave'を使用する必要があります - 後者はモデルが保存される前に発生し、いずれかの作成または更新されます –

1

を使用することができます、あなたは、

を使用することができます耳を傾けるの
public function boot() 
{ 
    User::creating(function($model) { 
     var_dump($model->name); 
    }); 
} 

使用可能なイベント: creatingcreatedupdatingupdateddeletingdeletedsavingsavedrestoringrestored

1

あなたは、フロントエンドユーザーの登録を参照していますか? - 私はあなたがモデルのbeforeCreate()イベントでカスタム1を追加することができますAccount componentまたは

は、単にあなたのプラグインのルートディレクトリにinit.phpファイルを作成し、中で焼成イベントrainlab.user.beforeRegisterを持つRainLabユーザーのプラグインを使用していると仮定しましたそこにあなたのリスナーをリスト:

Event::listen('rainlab.user.beforeRegister', 'Path\To\ListenersClass');

関連する問題