minishop2 order->submit() очищает корзину
$scriptProperties = array(
'json_response' => true, // возвращать ответы в JSON
// 'max_count' => 1, // максимальное число товаров для добавления за один раз
'allow_deleted' => false, // не добавлять в корзину товары с deleted = 1
'allow_unpublished' => false, // не добавлять в корзину товары с published = 0
);
$miniShop2 = $modx->getService('minishop2','miniShop2', MODX_CORE_PATH . 'components/minishop2/model/minishop2/', $scriptProperties);
// Инициализируем класс в текущий контекст
$miniShop2->initialize($modx->context->key, $scriptProperties);
$temp = $miniShop2->cart->get();
$miniShop2->cart->clean();
$miniShop2->cart->add($_POST['id'], $_POST['quantity_good']);
$miniShop2->order->add('reciever','test');
$miniShop2->order->add('email', 'kepamuk@yandex.ru'); //$_POST['email']
$miniShop2->order->add('payment', 1);
// $miniShop2->order->add( 'delivery', 1 );
$miniShop2->order->submit();
$miniShop2->cart->set($temp);
делаю покупку в один клик, перед тем как отправить товар сохраняю текущую корзину в переменную ($temp = $miniShop2->cart->get();), что бы после отправки вновь вернуть её на место ($miniShop2->cart->set($temp);), но когда доходит до $miniShop2->order->submit(); происходит какая то ошибка, и код дальше не отрабатывает, если поставить $miniShop2->cart->set($temp); выше сабмита, код отработает и в корзину добавятся товары которые были удалены после $miniShop2->cart->clean();, не пойму что происходит в сабмите, как то можно посмотреть что там? ошибка или что, самое печальное что раньше работало, теперь не могу понять что я такого сделал что перестало работать ппц просто! Подскажите в чем может быть дело и как можно транслитировать что там происходитКомментарии: 4
$miniShop2->order->submit();
и$miniShop2->cart->clean();
Корзину очищаютНе понимаю зачем ты очищаешь корзину а потом пытаешься сформировать заказ с уже пустой корзиной
напишите подробнее инструкцию — как удалить с помощью ссылки ??? что должна быть за конструкция в миникорзине???
к чему этот php — $miniShop2->cart->clean(); ??? совсем ничего не понятно… какие-то обрывки…
как сделать так чтобы
к чему этот php — $miniShop2->cart->clean(); ??? совсем ничего не понятно… какие-то обрывки…
как сделать так чтобы
<a href="[[~[[*id]]]]" class="del">Очистить корзину</a>
чистил корзину???
А никак, они сами не знают)) Сделали мутанта, теперь поди разбери, как оно работает))
Столкнулся с необходимостью сделать покупку в один клик. Кнопка находится в той же форме, что и обычная кнопка добавления товара. Логика такая: по нажатию на кнопку обратимся к php для очистки корзины, а новый товар добавится после силами могучего Minishop2.
HTML
HTML
<button type="submit" data-type="getOne">Купить в 1 клик</button>
JSfunction startGetOneWork(){
let getOneWork = document.querySelectorAll('[data-type="getOne"]');
for(index = 0; index < getOneWork.length; index++){
getOneWork[index].addEventListener('click', () => {
console.log('Попытка очистки корзины');
reset_button_podmena();
clearOrderFixTresh();
async function clearOrder(){
let url = "/minishop2-controller?type=clearOrder";
let headers = {
method: "POST"
}
let response = await fetch(url, headers);
if(response.ok){
console.log("Корзина очищена");
}else{
console.log("Ошибка очистки корзины");
}
}
});
}
}
startGetOneWork();
PHP (создаете ресурс, в нем вызываете сниппет)if($_SERVER["REQUEST_METHOD"] == "POST"){
switch($_GET["type"]){
case "clearOrder":
$miniShop2 = $modx->getService('miniShop2');
$miniShop2->initialize($modx->context->key);
$miniShop2->cart->clean();
break;
default: return;
}
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.