Вызывает событие OnUserSave newObject
Добрый день!
Честно говоря я не ожидал такого подвоха от API modx. При выполнении newObject, запускается событие!!! Было проверено на 2 установках modx 2.6.3
А именно при создании пользователя: (при создании ресурса не проверял, и раньше не замечал)
Честно говоря я не ожидал такого подвоха от API modx. При выполнении newObject, запускается событие!!! Было проверено на 2 установках modx 2.6.3
А именно при создании пользователя: (при создании ресурса не проверял, и раньше не замечал)
$user = $modx->newObject('modUser',array(
'username' => 'mail@mail.ru',
'password' => '12345678',
));
$user->save();
И есть плагин на событие onUserSave, где просто пишим, что нибудь в журнал ошибок, например$modx->log(xPDO::LOG_LEVEL_ERROR,'Сработал');
Что это? Есть какое то объяснение этому? Всегда считал, что при таком создании объекта, события не сработают, только через процессоры. Комментарии: 5
Ну, а что не так? Вы же создаете объект.
Ну так я создаю через newObject, всегда говорилось, в том числе и здесь, что данный метод не вызывает системные события modx, в принципе всегда именно так и было. При создании ресурсов точно никакие события не вызывались. Хочется что бы вызывались, нужно использовать процессоры, либо вызывать события самому через invokeEvent. А тут, при создании пользователя, я сам не вызываю…
Проверил при создании ресурса события не вызываются. Т.е. если следовать вашей логике при выполнении
$item = $modx->newObject('modResource',array(
'parent' => 0,
'pagetitle' => 'Название ресурса',
));
$item->save();
сработает событие OnDocFormSave? Не срабатывает, как и всегда. Что это? Есть какое то объяснение этому?Вызов этого события прописан прямо в самом объекте, так же как и OnUserRemove. Они вызывается всегда при сохранении и удалении.
На все вопросы можно найти ответы в исходном коде. Не знаю, почему многим так нравится просто ждать готового от других.
Спасибо..)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.