🙈 PG
$order->set
🙈 PG
Я с телефона пишу
Sergey_K
я пихал json сначала
🙈 PG
Лень полностью писать
🙈 PG
Sergey_K
set берет массив на входе
iWatchYouFromAfar
$newSizes = '[1,7,50]';
$product->set('size', json_decode($newSizes));
iWatchYouFromAfar
а я вот так делал
🙈 PG
Твой $order->set(["properties" => ["test"]])
Мой $order->set('properties',['test'])
Sergey_K
public function set(array $order)
iWatchYouFromAfar
и все збс работало
Sergey_K
Хорошо, щас попробую канеш
iWatchYouFromAfar
в жопу короче, сергей опять докапался до минишопа
Sergey_K
Я думаю, что, видимо, ошибка про массив второй
Sergey_K
Тогда Петя прав
Sergey_K
Ща попробую
Sergey_K
iWatchYouFromAfar
Ща попробую
ты мой вариант попробуй, 100% рабочий
iWatchYouFromAfar
не раз юзал
Sergey_K
Sergey_K
Петя то же самое написал
🙈 PG
Там сначала идёт имя поля которое нужно поменять, потом запятая и потом уже значение
iWatchYouFromAfar
да но Петя написал без уважения
Sergey_K
У меня ругалось на массив, но, по ходу, на второй
🙈 PG
А у тебя в названии поля идёт массив
Sergey_K
🙈 PG
По факту у тебя указан только 1 параметр
iWatchYouFromAfar
iWatchYouFromAfar
допили кэширатор
🙈 PG
Так order это xpdo объект
Sergey_K
Полный код метода msorderhandler->set()
🙈 PG
Аа стоп
Sergey_K
🙈 PG
Я видимо чего-то не догоняю
Sergey_K
Ага
Sergey_K
Вот и я тоже
Sergey_K
Я же не тупо долблюсь. Я читал и доку и исходники
🙈 PG
Тебе нужно перед созданием заказа добавить этот параметр?
Sergey_K
да
Sergey_K
order в методах это НЕ msOrder, это класс msorderhandler
🙈 PG
Жди пару минут
Sergey_K
Жду
🙈 PG
Доберусь до компа
Sergey_K
Спс
🙈 PG
Я такое уже проворачивал 🤔
Sergey_K
Я явно чота не догоняю, но там в коде как раз не учитывается вообще ни data ни order
iWatchYouFromAfar
а то лежит сука полурабочий, даже обидно
Sergey_K
iWatchYouFromAfar
🙈 PG
🙈 PG
рефакторинг нужен
iWatchYouFromAfar
он рабочий
с тикетсом ошибки валит
Sergey_K
$order = $this->modx->newObject('msOrder');
$order->fromArray(array(
'user_id' => $user_id,
'createdon' => $createdon,
'num' => $this->getNum(),
'delivery' => $this->order['delivery'],
'payment' => $this->order['payment'],
'cart_cost' => $cart_cost,
'weight' => $cart_status['total_weight'],
'delivery_cost' => $delivery_cost,
'cost' => $cart_cost + $delivery_cost,
'status' => 0,
'context' => $this->ms2->config['ctx'],
));
iWatchYouFromAfar
не кэширует их
Sergey_K
$order = $this->modx->newObject('msOrder');
$order->fromArray(array(
'user_id' => $user_id,
'createdon' => $createdon,
'num' => $this->getNum(),
'delivery' => $this->order['delivery'],
'payment' => $this->order['payment'],
'cart_cost' => $cart_cost,
'weight' => $cart_status['total_weight'],
'delivery_cost' => $delivery_cost,
'cost' => $cart_cost + $delivery_cost,
'status' => 0,
'context' => $this->ms2->config['ctx'],
));
Все параметры заказа. Нихера, по сути, он не берет ничего из того, что "можно переопределить", как, типа, в доке написано.
🙈 PG
$order = $this->modx->newObject('msOrder');
$order->fromArray(array(
'user_id' => $user_id,
'createdon' => $createdon,
'num' => $this->getNum(),
'delivery' => $this->order['delivery'],
'payment' => $this->order['payment'],
'cart_cost' => $cart_cost,
'weight' => $cart_status['total_weight'],
'delivery_cost' => $delivery_cost,
'cost' => $cart_cost + $delivery_cost,
'status' => 0,
'context' => $this->ms2->config['ctx'],
));
у меня стоит плагин на msOnCreateOrder
Sergey_K
Ну епта :)
Sergey_K
Я так тоже могу
Sergey_K
Там уже созданный заказ
🙈 PG
$msOrder->set('num',$result);
$msOrder->save();
Sergey_K
Да, но это адские костыли
Sergey_K
Согласись
🙈 PG
ну у меня там логики строк на 100
Миша
iWatchYouFromAfar
Sergey_K
🙈 PG
в какой именно момент нужно это записать и что у тебя уже написано?
Sergey_K
По сути, мне нужно записать мои кастомные данные
Sergey_K
Вместе с созданием заказа
Sergey_K
Ну т.е. дополнить
Sergey_K
данные
Sergey_K
Заказа
Sergey_K
Геолокация, к примеру, плюс пункт выдачи заказа, который выбран в форме заказа
Sergey_K
По уму это должно делаться на сабмите - обязательные поля + мои поля.
Далее вставляется запись штатно.
Sergey_K
Из доки: