При аттаче поведения в контроллере, не срабатывает ивенты

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
pistol
Сообщения: 216
Зарегистрирован: 2014.07.12, 15:18
Откуда: Курган
Контактная информация:

При аттаче поведения в контроллере, не срабатывает ивенты

Сообщение pistol »

Есть поведение, которое слушает событие ActiveRecord::EVENT_AFTER_FIND

Код: Выделить всё

    public function events()
    {
        return [
            ActiveRecord::EVENT_AFTER_FIND => 'setShortCodes'
        ];
    } 
Если привязывать поведение к модели через метод behaviors() модели, все ОК.

Но если сделать вот так в контроллере - не работает:

Код: Выделить всё

        $model = new Page;
        $model->attachBehavior('shortcodes', new \app\behaviors\ShortCodes);
        $model = $model::findOne(['slug' => $slug]);
 
Почему?
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: При аттаче поведения в контроллере, не срабатывает ивенты

Сообщение lynicidn »

=) конечно не работает, findOne статичесный
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: При аттаче поведения в контроллере, не срабатывает ивенты

Сообщение lynicidn »

глобальные события юзайте
Event::on(User::classname(), blabla)
Аватара пользователя
pistol
Сообщения: 216
Зарегистрирован: 2014.07.12, 15:18
Откуда: Курган
Контактная информация:

Re: При аттаче поведения в контроллере, не срабатывает ивенты

Сообщение pistol »

=) конечно не работает, findOne статичесный
Спасибо. В уме проиграл сценарий работы всего этго, вроде понял.
Ответить