Skip to content

Instantly share code, notes, and snippets.

@webinmd
Forked from iksecreeet/minishop2.oneclick.php
Created December 14, 2018 17:05
Show Gist options
  • Save webinmd/59a8f860645a808f6ea86757d173f172 to your computer and use it in GitHub Desktop.
Save webinmd/59a8f860645a808f6ea86757d173f172 to your computer and use it in GitHub Desktop.
Сниппет для отправки заказа в 1 клик для Minishop2
<?php
$errors = [];
$id = $_POST['id'];
$phone = $_POST['phone'];
$receiver = uniqid('user_');
$email = uniqid('user_') . '@bikes.ru';
if ( empty( trim( $_POST['phone'] ) ) ) {
$errors['phone'] = 'Вы не заполнили телефон';
}
if ( !empty( $errors ) ) {
return $AjaxForm->error( 'В форме содержатся ошибки!', $errors );
} else {
$miniShop2 = $modx->getService( 'minishop2','miniShop2', MODX_CORE_PATH . 'components/minishop2/model/minishop2/', $scriptProperties );
if ( !( $miniShop2 instanceof miniShop2 ) ) {
return $AjaxForm->error( 'Ошибка скрипта!' );
}
$miniShop2->initialize($modx->context->key, $scriptProperties);
$miniShop2->order->add('phone', $phone);
$miniShop2->order->add( 'receiver', $receiver );
$miniShop2->order->add( 'email', $email );
$miniShop2->order->add( 'delivery', 1 ); // id метода доставки
$miniShop2->order->add( 'payment', 1 ); // id метода оплаты
$miniShop2->cart->add($id, $modx->getOption('count', $_POST, 1), $modx->getOption('options', $_POST, []));
$miniShop2->order->submit();
return $AjaxForm->success( 'Форма успешно отправлена. Сейчас вы перейдете на страницу оплаты.' );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment