public function closeCartAction($cartId = 0) { $cart = Ecommerce\Cart::get((int) $cartId); $result = new Server\Result(); if ($cart && $cart->cart_status_id != 5) { $cart->cart_status_id = 5; $cart->save(); $result->successMsg = 'Заказ был завершен'; $result->send(); } $result->success = false; $result->content = 'Такая корзина не найдена'; $result->send(); }
<?php $cart = !empty($_SESSION['cart']['cart_id']) ? Ecommerce\Cart::get((int) $_SESSION['cart']['cart_id']) : false; $count = $cart ? count($cart->cartItems) : 0; $sum = $cart ? $cart->sum : 0; ?> <a href ='/ecommerce/cart'> В корзине <?php echo $count; ?> <?php echo Tools::getNumEnding($count, ['товар', 'товара', 'товаров']); ?> (<?php echo $sum; ?> р.) </a>
<?php $cart = Ecommerce\Cart::getList(['where' => [['user_id', Users\User::$cur->id]], 'order' => ['complete_data', 'desc'], 'limit' => 1]); $cart_id = isset(array_values($cart)[0]) ? array_values($cart)[0]->id : ''; $prefix = isset(App::$cur->ecommerce->config['orderPrefix']) ? $config = App::$cur->ecommerce->config['orderPrefix'] : ''; $text = "<p>История заказа находится в <a href='/users/cabinet'>Личном кабинете</a>. Для просмотра истории, перейдите по ссылке <a href=\"/users/cabinet/ecommerceOrdersHistory\">История заказов</a>.</p>\n <p>Если у Вас возникли вопросы, пожалуйста <a href='/materials/contacts'>свяжитесь с нами</a>.</p>"; if (isset(array_values($cart)[0])) { ?> <h1 class="heading-title">Ваш заказ номер <?php echo $prefix; echo $cart_id; ?> принят!</h1> <p>Ваш заказ принят!</p> <?php echo $text; ?> <p>Спасибо за покупки в нашем интернет-магазине!</p> <?php } else { ?> <h1 class="heading-title">У вас нет недавних заказов</h1> <p>У вас нет недавних заказов</p> <?php echo $text; }
public function getCurCart($create = true) { $cart = false; if (!empty($_SESSION['cart']['cart_id'])) { $cart = Ecommerce\Cart::get((int) $_SESSION['cart']['cart_id']); } if (!$cart && $create) { $cart = new Ecommerce\Cart(); $cart->cart_status_id = 1; $cart->user_id = Users\User::$cur->id; $userCard = \Ecommerce\Card\Item::get(\Users\User::$cur->id, 'user_id'); if ($userCard) { $cart->card_item_id = $userCard->id; } $cart->save(); $_SESSION['cart']['cart_id'] = $cart->id; } return $cart; }
?> / <?php echo \App::$cur->ecommerce->getItemsCount(['where' => ['date_create', date('Y-m-d 00:00:00'), '>']]); ?> </p> </div> <div class="col-lg-6"> <p>Всего Корзин/Заказов: <?php echo Ecommerce\Cart::getCount(); ?> / <?php echo Ecommerce\Cart::getCount(['where' => ['cart_status_id', 1, '>']]); ?> </p> <p>Новых Корзин/Заказов сегодня: <?php echo Ecommerce\Cart::getCount(['where' => [['date_create', date('Y-m-d 00:00:00'), '>']]]); ?> / <?php echo Ecommerce\Cart::getCount(['where' => [['cart_status_id', 1, '>'], ['complete_data', date('Y-m-d 00:00:00'), '>']]]); ?> </p> </div> </div> </div> <div class="panel-footer"> <a href ="/admin/Ecommerce/Item">Товары</a> | <a href ="/admin/Ecommerce/Cart">Заказы</a> </div> </div> <?php }];
public function buyCardAction() { $this->view->setTitle('Покупка карты'); $bread = []; $bread[] = ['text' => 'Покупка карты']; $user = Users\User::$cur; if (!empty($_POST) && !empty($_POST['card_id'])) { $error = false; $card = \Ecommerce\Card::get((int) $_POST['card_id']); if (!$card) { $error = true; Msg::add('Такой карты не существует', 'danger'); } if (!Users\User::$cur->id) { $user_id = $this->Users->registration($_POST, true); if (!$user_id) { $error = true; $user = null; } else { $user = Users\User::get($user_id); } } $userCard = \Ecommerce\Card\Item::get([['card_id', $card->id], ['user_id', $user->id]]); if ($userCard) { $error = true; Msg::add('У вас уже есть такая карта', 'danger'); } $fields = \Ecommerce\UserAdds\Field::getList(); foreach ($fields as $field) { if (empty($_POST['userAdds']['fields'][$field->id]) && $field->required) { $error = 1; Msg::add('Вы не указали: ' . $field->name); } } if (!$error) { $cardItem = new \Ecommerce\Card\Item(); $cardItem->card_id = $card->id; $cardItem->user_id = $user->id; $cardItem->save(); $cart = new \Ecommerce\Cart(); $cart->user_id = $user->user_id; $cart->cart_status_id = 2; $cart->comment = htmlspecialchars($_POST['comment']); $cart->date_status = date('Y-m-d H:i:s'); $cart->complete_data = date('Y-m-d H:i:s'); if (!empty($_SESSION['cart']['cart_id'])) { $cart->card_item_id = $cardItem->id; } $cart->save(); $this->module->parseFields($_POST['userAdds']['fields'], $cart); $extra = new \Ecommerce\Cart\Extra(); $extra->name = $card->name; $extra->price = $card->price; $extra->count = 1; $extra->cart_id = $cart->id; $extra->info = 'card:' . $card->id . '|cardItem:' . $cardItem->id; $extra->save(); Tools::redirect('/ecommerce/cart/success'); } } $this->view->page(['data' => compact('bread')]); }
public function orderDetailAction($id = 0) { $cart = Ecommerce\Cart::get((int) $id); if ($cart->user_id != Users\User::$cur->id) { $this->url->redirect('/', 'Это не ваша корзина'); } $bread[] = ['text' => 'Каталог', 'href' => '/ecommerce']; $bread[] = ['text' => 'Корзина', 'href' => '/ecommerce/cart']; $bread[] = ['text' => 'Заказ: №' . $cart->id, 'href' => '/ecommerce/cart/orderDetail/' . $cart->id]; $this->view->setTitle('Заказ №' . $cart->id); $this->view->page(['data' => compact('cart', 'bread')]); }
<?php $pages = new Ui\Pages($_GET, ['count' => Ecommerce\Cart::getCount(['where' => ['user_id', Users\User::$cur->id]]), 'limit' => 10]); $carts = Ecommerce\Cart::getList(['where' => ['user_id', Users\User::$cur->id], 'order' => ['date_create', 'desc'], 'start' => $pages->params['start'], 'limit' => $pages->params['limit']]); $prefix = isset(App::$cur->ecommerce->config['orderPrefix']) ? $config = App::$cur->ecommerce->config['orderPrefix'] : ''; ?> <h3>История заказов</h3> <div class="table-responsive"> <table class="table table-bordered table-hover table-condensed list"> <thead> <tr> <td class="text-right">№ Заказа</td> <td class="text-left">Статус</td> <td class="text-right">Товары</td> <td class="text-right">Всего</td> <td class="text-left">Оформлено</td> <td>Оплата</td> <td></td> </tr> </thead> <tbody> <?php foreach ($carts as $cart) { $sums = []; foreach ($cart->cartItems as $cartItem) { $currency_id = $cartItem->price && $cartItem->price->currency ? $cartItem->price->currency->id : (!empty(\App::$cur->ecommerce->config['defaultCurrency']) ? \App::$cur->ecommerce->config['defaultCurrency'] : 0); if (empty($sums[$currency_id])) { $sums[$currency_id] = $cartItem->final_price * $cartItem->count; } else { $sums[$currency_id] += $cartItem->final_price * $cartItem->count;