[Решено] minishop2 как сформировать заказ для определенного пользователя
Добрый день.
Столкнулся с необходимостью создать инструмент, чтоб можно было программно создавать заказ для пользователя. Например, по звонку оператор формирует клиенту заказ.
Поиск юзера, вывод каталога и выбор товара я сделал, а вот с заказом вышла заминка. Если делать как описано тут то заказ не попадает на нужного пользователя.
Подскажите, если не готовое решение то хотя бы куда копать.
UPD: Нашел решение, поразбиравшись с Минишопом. привожу код функции из сниппета:
Столкнулся с необходимостью создать инструмент, чтоб можно было программно создавать заказ для пользователя. Например, по звонку оператор формирует клиенту заказ.
Поиск юзера, вывод каталога и выбор товара я сделал, а вот с заказом вышла заминка. Если делать как описано тут то заказ не попадает на нужного пользователя.
Подскажите, если не готовое решение то хотя бы куда копать.
UPD: Нашел решение, поразбиравшись с Минишопом. привожу код функции из сниппета:
global $modx;
$scriptProperties = array(
'json_response' => true, // ответ в виде json
);
$miniShop2 = $modx->getService('minishop2','miniShop2', MODX_CORE_PATH . 'components/minishop2/model/minishop2/', $scriptProperties);
if (!($miniShop2 instanceof miniShop2)) return '{"error": "getService minishop error"}';
$miniShop2->initialize($modx->context->key, $scriptProperties);
$miniShop2->cart->clean();
$miniShop2->order->clean();
$miniShop2->order->add('user_id', $uid); //указываем id юзера, на чье имя совершить заказ
$miniShop2->order->add('delivery', 2);
$miniShop2->order->add('payment', 1);
$miniShop2->order->add('email', $email);
$miniShop2->order->add('phone', $phone);
$miniShop2->order->add('receiver', $receiver);
$miniShop2->order->add('street', $address);
$miniShop2->order->add('comment', $comment);
//$productlist - массив в виде ID продукта => количество
foreach ($productlist as $productid => $count){
$miniShop2->cart->add($productid, $count);
}
$res = $miniShop2->order->submit();
return($res); Комментарии: 10
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Подскажите пожалуйста, небольшая проблемка с созданием заказа в ручную. При отсутствии пользователя, он создается автоматически все работает ок, но не подставляется в имя пользователя name пришедший из POST.
Код
joxi.ru/p27V9KytoBG7Ym
Заказ создается, создается пользователь, но в имени у него «Test» вместо $name
joxi.ru/J2bjVbQtXZPWW2
Как правильно передать данные чтобы он нормально создал пользователя?
в некоторых есть только заказ, тогда надо уже выгребать продукты по заказу и добавлять туда ваш, потом обратно сохранить это все. В случае когда заказ уже есть, поможет вот этот ход:
https://modx.pro/help/15666
вот список событий с указаниями какой там есть объект