Не изменяются данные после msOnBeforeCreateOrder
Доброго времени суток.
Как я понимаю, это событие должно срабатывать до того момента как создастся Order, и в тоже время после валидации. Следовательно, изменение значений в этом событии должно произвести изменения во время записи
Условно у меня такой код, хотя там на много сложней, но этот тоже не срабатывает.
Я ожидал что в итоге поле сохраниться с "!!!" на конце. Вопрос, что я делаю не так?
Пытался возвращать $order/$arr;
Как я понимаю, это событие должно срабатывать до того момента как создастся Order, и в тоже время после валидации. Следовательно, изменение значений в этом событии должно произвести изменения во время записи
Условно у меня такой код, хотя там на много сложней, но этот тоже не срабатывает.
Я ожидал что в итоге поле сохраниться с "!!!" на конце. Вопрос, что я делаю не так?
if ($modx->event->name == 'msOnBeforeCreateOrder') {
$arr = $order->get();
$arr['city']=$arr['city'].'!!!';
$order->set($arr);
$arr_new = $order->get();
}Вписывал print_r($arr_new); exit(); там всё изменено.Пытался возвращать $order/$arr;
Комментарии: 14
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Если хотите изменить что-либо, используйте msOnCreateOrder.
p.s. если верить исходникам, бефор идёт немного раньше чем просто создание. И Там данные негде не меняются между этими двумя событиями.
$order->save; как раз 25-ая строка, просто там у меня часть строк закомментирована.
$msOrder->save();
Код плагина
То что он срабатывает точно уверен. Так как специально сейчас проверил вот таким образом
И в итоге в дебагере вылезло 1111, и оформление не пошло.
Да и я пол ночи эксперементировал и с $msOrder и с $order
Подскажите, пожалуйста, куда нужно зайти, чтобы включить msOnCreateOrder? помогите пожалуйста, в настройках не могу найти msOnCreateOrder.