2017-02-09 5 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 
    }); 
}); 

Вы можете использовать before и after для create, update, save, fetch и delete

+0

Если он хочет, чтобы ограничить регистрацию, он должен использовать 'beforeCreate' событие не' beforeSave' - последний будет уволен до модели сохраняется, либо создан или обновлен –

1

В качестве альтернативы , вы можете использовать,

public function boot() 
{ 
    User::creating(function($model) { 
     var_dump($model->name); 
    }); 
} 

доступных событий для прослушивания: creating, created, updating, updated, deleting, deleted, saving, saved, restoring, restored

1

Вы имеете в виду регистрации фронтальным пользователя? - Я предполагал, что вы используете RainLab пользователя плагин, который имеет событие rainlab.user.beforeRegister выстрелил в Account component или вы можете добавить пользовательские один в beforeCreate() события модели

затем просто создать init.php файл в корневой директории вашего плагина и список ваших слушателей есть:

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