public function actionOrder() { $order = new Order(); /* @var $cart ShoppingCart */ $cart = \Yii::$app->cart; /* @var $products Product[] */ $products = $cart->getPositions(); $total = $cart->getCost(); if ($order->load(\Yii::$app->request->post()) && $order->validate()) { $transaction = $order->getDb()->beginTransaction(); $order->save(false); foreach ($products as $product) { $orderItem = new OrderItem(); $orderItem->order_id = $order->id; $orderItem->title = $product->title; $orderItem->price = $product->getPrice(); $orderItem->product_id = $product->id; $orderItem->quantity = $product->getQuantity(); if (!$orderItem->save(false)) { $transaction->rollBack(); \Yii::$app->session->addFlash('error', 'Cannot place your order. Please contact us.'); return $this->redirect('catalog/list'); } } $transaction->commit(); \Yii::$app->cart->removeAll(); \Yii::$app->session->addFlash('success', 'Thanks for your order. We\'ll contact you soon.'); $order->sendEmail(); return $this->redirect('catalog/list'); } return $this->render('order', ['order' => $order, 'products' => $products, 'total' => $total]); }
public function actionOrder() { $session = Yii::$app->getSession(); $cart = $session->has('cart') ? $session->get('cart') : []; if (!$cart) { return $this->redirect(['index']); } $model = new Order(); if ($model->load(Yii::$app->request->post()) && $model->save()) { if (is_array($cart)) { foreach ($cart as $one_goods) { $order_goods = new OrderGoods(); $order_goods->goods_id = $one_goods['id']; $order_goods->count = $one_goods['count']; $order_goods->order_id = $model->id; $order_goods->save(); } } Yii::$app->session->remove('cart'); return $this->redirect(['index']); } else { $goods_id = ArrayHelper::getColumn($cart, 'id'); $goods = Goods::find()->where(['id' => $goods_id])->asArray()->indexBy('id')->all(); $amount = 0; foreach ($cart as $one_goods) { $amount += $one_goods['count'] * $goods[$one_goods['id']]['price']; } $model->price = $amount; return $this->render('order', ['cart' => $cart, 'model' => $model, 'amount' => $amount]); } }
public function actionCheckout() { if ($postData = Yii::$app->request->post()) { $model = new Product(); $order = new Order(); $order->shipping_address = $postData['address']; $order->city = $postData['city']; $order->country = $postData['country']; $order->postal_code = $postData['postal_code']; $order->status = 0; $order->save(); $order_id = $order->order_id; $items = []; foreach ($postData['qty'] as $key => $val) { $order_detail = new OrderDetail(); $order_detail->order_id = $order_id; $order_detail->prod_id = $postData['prod_id'][$key]; $order_detail->quantity = $postData['qty'][$key]; $order_detail->unit_price = $postData['prod_price'][$key]; $order_detail->unit_sum = $postData['prod_price'][$key] * $order_detail->quantity; $order_detail->save(); $item = new Item(); $item->setName($postData['prod_name'][$key])->setCurrency('USD')->setQuantity($val)->setPrice($postData['prod_price'][$key]); $items[] = $item; } $itemList = new ItemList(); $itemList->setItems($items); $payment = preparePaypal($itemList); print_r($items); } exit; }
public function actionIndexadd() { if (Yii::$app->user->isGuest) { $model = new LoginForm(); if ($model->load(Yii::$app->request->post()) && $model->login()) { return $this->goBack(); } else { return $this->render('/site/login', ['model' => $model]); } } else { $Order = new Order(); $Order->user_id = Yii::$app->user->identity->id; $Order->date_time = date('Y-m-d H:i:s'); $Order->status_id = '1'; $Order->save(); $Card = new CardList(); $Products = $Card->getCardAndCardList(Yii::$app->user->identity->id); $Ord = new Order(); $order_id = $Ord->GetOrderId(Yii::$app->user->identity->id); for ($i = 0; $i < sizeof($Products); $i++) { $Orderlist = new Orderlist(); $Orderlist->order_id = $order_id[0]['MAX(`order_id`)']; $Orderlist->product_id = $Products[$i]['product_id']; $Orderlist->quantity = $Products[$i]['quantity']; $Orderlist->save(); } $card = new Card(); $card->DeleteCardId(Yii::$app->user->identity->id); $order = $Ord->GetOrdersFromID(Yii::$app->user->identity->id); $user = User::find()->where(['id' => Yii::$app->user->identity->id])->one(); return $this->render('index', ['user' => $user, 'order' => $order]); } }
public function actionOrder() { $order = new Order(); /** @var ShoppingCart $cart */ $cart = \Yii::$app->cart; /* @var $products Product[] */ $products = $cart->getPositions(); if ($order->load(\Yii::$app->request->post()) && $order->validate()) { $transaction = $order->getDb()->beginTransaction(); $order->save(false); // part of the transaction; foreach ($products as $product) { $orderItem = new OrderItem(); $orderItem->order_id = $order->id; $orderItem->product_id = $product->id; $orderItem->title = $product->title; $orderItem->price = $product->getPrice(); $orderItem->quantity = $product->getQuantity(); if (!$orderItem->save(false)) { $transaction->rollBack(); Yii::$app->session->setFlash('error', 'Your order cannot be accepted. Please contact us!'); $this->goBack(); } } $transaction->commit(); Yii::$app->cart->removeAll(); Yii::$app->session->addFlash('message', 'Thanks for your order. We\'ll contact you soon!'); // $order->sendEmail(); $this->redirect('/'); } return $this->render('order', ['order' => $order, 'products' => $products, 'total' => $cart->getCost()]); }
/** * Creates a new Order model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Order(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model]); } }
/** * Creates a new Order model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Order(); if ($model->load(Yii::$app->request->post()) && $model->save()) { $redirect = yii::$app->request->post('goto') == 'list' ? ['index'] : ['update', 'id' => $model->id]; return $this->redirect($redirect); } return $this->render('create', ['model' => $model]); }
/** * Creates a new Order model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { //if(!Yii::$app->user->can('createYourAuth')) throw new ForbiddenHttpException(Yii::t('app', 'No Auth')); $model = new Order(); $model->loadDefaultValues(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model]); } }
public function actionCreate() { $model = new Order(); $model->send_at = date("Y-m-d H:i:s"); $model->is_new = 0; if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->render('thank'); } else { return $this->render('create', ['model' => $model]); } }
/** * Сохраняем наш заказ и отправляем письмо пользователю. */ public function saveOrder($user, $product, $post) { $order = new Order(); $order->user_id = $user->id; $order->summ = $product['price']; $order->created_datetime = date('Y-m-d H:i:s'); $order->finished_datetime = date('Y-m-d H:i:s'); if ($order->save(false)) { \Yii::$app->mailer->compose(['html' => 'order-html', 'text' => 'order-text'], ['user' => $user, 'product' => $product, 'post' => $post])->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->name . ' робот'])->setTo($user->email)->setSubject('Заказ товара - ' . \Yii::$app->name)->send(); return true; } return false; }
public function actionIndex() { $model = new OrderForm(); if ($model->load(Yii::$app->request->post()) && $model->makeOrder()) { $model->good_id++; // create a new order $order = new Order(); // set total price $model->total_price = Good::findAll($model->good_id)[0]->price * $model->goods_count; // fill order props foreach ($model as $key => $value) { $order->setAttribute($key, $value); } // save the order $order->save(); return $this->redirect('/index.php?r=order%2Forders'); } return $this->render('index', ['model' => $model, 'good_names' => HelperComponent::array_pluck('name', Good::find()->select('name')->all())]); }
public function actionOrder() { $cartPositions = Yii::$app->cart->getPositions(); if (!$cartPositions or $cartPositions === null) { return $this->redirect(['index']); } $dataProvider = new ArrayDataProvider(['allModels' => $cartPositions]); $model = new Order(); if ($model->load(Yii::$app->request->post())) { $model->status = 1; $model->total_cost = Yii::$app->cart->getCost(); $model->date = date('Y-m-d H:i'); $model->data = Yii::$app->cart->getSerialized(); if ($model->validate() && $model->save()) { Yii::$app->cart->removeAll(); return $this->render('orderSuccess', ['model' => $model]); } } return $this->render('order', ['model' => $model, 'dataProvider' => $dataProvider]); }
public function save() { $order = new Order(); $order->loadDefaultValues(); $order->invoice_no = 0; $order->invoice_prefix = date("Y-m-d") . '-00'; $order->store_name = 'Hybrizy'; if ($this->scenario == self::SCENARIO_TRIAL) { $order->payment_method = "Trial"; $order->payment_code = "Trial"; $order->firstname = $this->firstname; $order->lastname = $this->lastname; } elseif ($this->scenario === self::SCENARIO_CHECKOUT) { $order->payment_method = "MOLPay"; $order->payment_code = "molpay"; $order->telephone = $this->telephone; $order->firstname = Yii::$app->user->identity->profile->firstname; $order->lastname = Yii::$app->user->identity->profile->lastname; $order->payment_firstname = $this->payment_firstname; $order->payment_lastname = $this->payment_lastname; $order->lastname = $this->payment_lastname; $order->email = $this->email; $order->total = $this->total; } $order->store_url = Url::base(true); $order->user_id = Yii::$app->user->id; if ($order->save()) { if ($this->scenario === self::SCENARIO_CHECKOUT) { // Generate VCode $amount = $order->total; $merchantID = Yii::$app->params['merchantID']; $orderid = $order->invoice_prefix . '-' . $order->id; $vcode = md5($amount . $merchantID . $orderid . Yii::$app->params['verifyKey']); // MOLPay Tx Data setup $this->_mol_pay_tx_data['bill_name'] = $order->payment_firstname . ' ' . $order->payment_lastname; $this->_mol_pay_tx_data['bill_desc'] = $this->BillDescription(); $this->_mol_pay_tx_data['orderid'] = $orderid; $this->_mol_pay_tx_data['amount'] = $order->total; $this->_mol_pay_tx_data['bill_email'] = $order->email; $this->_mol_pay_tx_data['currency'] = 'MYR'; $this->_mol_pay_tx_data['country'] = 'MY'; $this->_mol_pay_tx_data['bill_mobile'] = $order->telephone; $this->_mol_pay_tx_data['vcode'] = $vcode; } return $order; } else { return false; } }
/** * @return array */ public function actionCreateOrder() { $result = 0; \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; $id = Yii::$app->request->post('id'); $user_id = Yii::$app->request->post('user_id'); if ($id && $user_id) { $order = new Order(); $order->goods_id = $id; $order->user_id = $user_id; $order->active = 1; $result = $order->save(); } return ['success' => $result]; }
public function actionCreate() { $out = ['status' => 'err', 'error' => 'Unknown error']; $order = new Order(); $r = new Request(); if ($order->load($r->post())) { $order->price = $order->price * 100; // $user = \Yii::$app->user; if (\Yii::$app->user->isGuest) { if ($user = User::findByEmail($r->post('SignupForm')['email'])) { $order->user_id = $user->getId(); } else { $signup = new SignupForm(); if ($signup->load($r->post())) { $signup->username = $signup->email; $signup->password = User::MakePass(7); if ($user = $signup->signup()) { $order->user_id = $user->getId(); } else { $out['error'] = array_values($signup->errors)[0][0]; } } else { //vd($signup->errors,1); } } } else { $order->user_id = \Yii::$app->user->getId(); } if ($order->validate() && $order->save()) { //vd([$r->post(),$order->attributes]); $out = ['status' => 'ok', 'order' => $order->id, 'user' => $order->user_id, 'sum' => $order->price / 100]; } else { $out['error'] = array_values($order->errors)[0][0]; //vd($order->errors); } } //vd($out); \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; return $out; //return BaseJson::encode($out,JSON_PRETTY_PRINT); /*vd(['get' => $r->getQueryParams() , 'post' => $r->post(), 'order' => $order],1); //*/ }
public function actionPurchaseNow() { $MOLPayInfo = []; $order = new Order(); $order->loadDefaultValues(); $orderForm = new OrderForm(); $orderForm->load(\Yii::$app->request->post()); $order->invoice_no = 0; $order->invoice_prefix = date("Y-m-d") . '-00'; $order->store_name = 'Hybrizy'; $order->payment_method = "MOLPay"; $order->payment_code = "molpay"; $order->store_url = Url::base(true); $order->user_id = \Yii::$app->user->id; $order->firstname = $orderForm->payment_firstname; $order->lastname = $orderForm->payment_lastname; $order->email = $orderForm->email; $order->telephone = $orderForm->payment_telephone; $order->fax = ""; $order->payment_firstname = $orderForm->payment_firstname; $order->payment_lastname = $orderForm->payment_lastname; $order->payment_company = ""; $order->payment_address_1 = $orderForm->payment_address_1; $order->payment_address_2 = $orderForm->payment_address_2; $order->payment_city = $orderForm->payment_city; $order->payment_postcode = $orderForm->payment_postcode; $order->payment_country = ""; $order->payment_zone = ""; $order->payment_address_format = ""; if ($orderForm->BillingInfoAsShippingAddress === '1') { $order->shipping_firstname = $orderForm->payment_firstname; $order->shipping_lastname = $orderForm->payment_lastname; $order->shipping_address_1 = $orderForm->payment_address_1; $order->shipping_address_2 = $orderForm->payment_address_2; $order->shipping_city = $orderForm->payment_city; $order->shipping_code = $orderForm->payment_code; $order->shipping_postcode = $orderForm->shipping_postcode; } else { $order->shipping_firstname = $orderForm->shipping_firstname; $order->shipping_lastname = $orderForm->shipping_lastname; $order->shipping_address_1 = $orderForm->shipping_address_1; $order->shipping_address_2 = $orderForm->shipping_address_2; $order->shipping_city = $orderForm->shipping_city; $order->shipping_code = $orderForm->shipping_code; $order->shipping_postcode = $orderForm->shipping_postcode; } // MOL Pay info $MOLPayInfo['bill_name'] = $order->payment_firstname . ' ' . $order->payment_lastname; $MOLPayInfo['bill_desc'] = $orderForm->BillDescription(); $order->shipping_zone = ""; $order->shipping_address_format = ""; $order->shipping_method = ""; $order->shipping_code = ""; $order->comment = ""; $order->order_status_id; $order->currency_code = ""; $order->ip = ""; $order->forwarded_ip = ""; $order->user_agent = ""; $order->accept_language = ""; $order->user_id = \Yii::$app->user->id; $cart = unserialize(\Yii::$app->db->createCommand('select cart from user where id=:id')->bindValue(':id', \Yii::$app->user->id)->queryColumn()[0]); $order->total = $cart['grandTotal']; if ($order->save()) { $tempOrderId = $order->invoice_prefix . '-' . $order->id; $MOLPayInfo['orderid'] = $tempOrderId; $MOLPayInfo['amount'] = $order->total; $MOLPayInfo['bill_email'] = $order->email; $MOLPayInfo['bill_mobile'] = $order->telephone; $form = \Yii::$app->controller->renderPartial('@frontend/views/site/_molpay_progress', ['model' => $MOLPayInfo, 'merchantId' => \Yii::$app->params['merchantId']], true); return ['data' => $MOLPayInfo, 'result' => 1, 'merchantId' => \Yii::$app->params['merchantId'], 'html' => $form]; } else { return ['data' => [], 'result' => 0]; } }
/** * 创建订单 * * @param string $runValidation * @throws \Exception * @return boolean */ public function create($runValidation = true) { if ($runValidation && !$this->validate()) { return false; } if ($this->_store->status === Store::STATUS_REST) { throw new \Exception('该店铺休息中…'); } $volume = Yii::$app->user->identity->getCartGoodsRealVolume($this->_store->id); if ($this->_store->has_least && $this->_store->least_val > $volume) { throw new \Exception('购物车商品未满起送价!'); } if (empty($this->_cartGoodsList)) { throw new \Exception('当前购物车为空!'); } foreach ($this->_cartGoodsList as $cartGoods) { if ($cartGoods->isExpired) { throw new \Exception('商品“' . $cartGoods->goods->name . '”已失效!请您删除该商品然后继续。'); } if ($cartGoods->isTooMuch) { throw new \Exception('商品“' . $cartGoods->goods->name . '”数量已超出库存数量!请返回购物车中修改。'); } } $transaction = Yii::$app->db->beginTransaction(); try { $order = new Order(); $order->generateOrderSn(); $order->user_id = Yii::$app->user->id; $order->store_id = $this->_store->id; $order->school_id = $this->_store->school_id; $order->status = $this->payment === Order::PAYMENT_OFFLINE ? Order::STATUS_UNSHIPPED : Order::STATUS_UNPAID; $order->payment = $this->payment; $order->fee = $volume; $order->preferential = $this->preferential; $order->down_val = null; $order->gift_val = null; $order->new_down_val = null; $order->book_time = $this->bookTime == 0 ? null : $this->bookTime; $order->remark = $this->remark; $order->cancelled_msg = null; // 判断优惠类型 switch ($this->preferential) { case Order::PREFERENTIAL_DOWN: if ($this->_store->has_down && $order->fee >= $this->_store->down_upper) { $order->real_fee = bcsub($order->fee, $this->_store->down_val, 2); $order->down_val = $this->_store->down_val; } break; case Order::PREFERENTIAL_GIFT: if ($this->_store->has_gift && $order->fee >= $this->_store->gift_upper) { $order->real_fee = $order->fee; $order->gift_val = $this->_store->gift_val; } break; case Order::PREFERENTIAL_NONE: $order->real_fee = $order->fee; break; default: throw new \Exception('优惠选择错误!'); } // 新用户立减优惠 if (Yii::$app->params['enableNewDown'] && $this->newDown && $order->fee >= Yii::$app->params['newDownUpper'] && Yii::$app->user->identity->has_new_down) { $order->new_down_val = Yii::$app->params['newDownVal']; $order->real_fee = bcsub($order->real_fee, $order->new_down_val, 2); Yii::$app->user->identity->has_new_down = 0; if (!Yii::$app->user->identity->save(false)) { throw new \Exception('用户错误!'); } if ($order->real_fee < 0) { $order->real_fee = 0; $order->status = ORDER::STATUS_UNSHIPPED; } } if (!$order->save(false)) { throw new \Exception('订单错误!'); } $this->_order = $order; $address = OrderAddress::createDuplicate($this->addressId); $address->order_id = $order->id; if (!$address->save(false)) { throw new \Exception('收货地址错误!'); } foreach ($this->_cartGoodsList as $cartGoods) { $goods = OrderGoods::createDuplicate($cartGoods->goods_id); $goods->order_id = $order->id; $goods->count = $cartGoods->count; if (!$goods->save(false)) { throw new \Exception('订单商品错误!'); } if (!$cartGoods->goods->moveSurplus(-$goods->count, "创建订单:{$order->order_sn}。")) { throw new \Exception('商品错误!'); } } Yii::$app->user->identity->clearCartGoods($this->_store->id); $transaction->commit(); return true; } catch (\Exception $e) { $transaction->rollBack(); throw $e; } }
public function actionCheckout() { Yii::$app->session['step'] = 2; $userId = Yii::$app->user->id; $addresses = Address::find()->where(['user_id' => $userId])->all(); $model = new Order(); if ($model->load(Yii::$app->request->post())) { if (!Yii::$app->request->post('address_id')) { return $this->goBack(); } // 使用优惠券 $feeCouponUser = $feeCouponCode = $feePoint = 0.0; $couponId = Yii::$app->request->post('coupon'); if ($couponId && Yii::$app->request->post('checkbox-coupon')) { $couponUser = Coupon::findOne($couponId); if (!$couponUser || $couponUser->used_at > 0 || $couponUser->ended_at < time() || $couponUser->user_id != Yii::$app->user->id) { return $this->goBack(); } $feeCouponUser = $couponUser->money; } // 使用优惠码 $sn = Yii::$app->request->post('sn'); if ($sn) { $couponCode = Coupon::find()->where(['sn' => $sn])->one(); if (!$couponCode || $couponCode->used_at > 0 || $couponCode->ended_at < time()) { return $this->goBack(); } $feeCouponCode = $couponCode->money; } // 使用积分 $point = Yii::$app->request->post('point'); if ($point && Yii::$app->request->post('checkbox-point')) { if ($point > Yii::$app->user->identity->point) { return $this->goBack(); } $feePoint = intval($point) / 100; } $address = Address::find()->where(['id' => Yii::$app->request->post('address_id'), 'user_id' => $userId])->one(); $model->user_id = $userId; $model->sn = date('YmdHis') . rand(1000, 9999); $model->consignee = $address->consignee; $model->country = $address->country; $model->province = $address->province; $model->city = $address->city; $model->district = $address->district; $model->address = $address->address; $model->zipcode = $address->zipcode; $model->phone = $address->phone; $model->mobile = $address->mobile; $model->email = $address->email ? $address->email : Yii::$app->user->identity->email; if ($model->payment_method == Order::PAYMENT_METHOD_COD) { $model->payment_status = Order::PAYMENT_STATUS_COD; } else { $model->payment_status = Order::PAYMENT_STATUS_UNPAID; } $model->status = $model->payment_status; $products = Cart::find()->where(['session_id' => Yii::$app->session->id])->all(); if (count($products)) { foreach ($products as $product) { $model->amount += $product->number * $product->price; } } else { $this->redirect('/cart'); } $model->amount += floatval($model->shipment_fee) - $feeCouponUser - $feeCouponCode - $feePoint; if ($model->save()) { // insert order_product and clear cart foreach ($products as $product) { $orderProduct = new OrderProduct(); $orderProduct->order_id = $model->id; $orderProduct->product_id = $product->product_id; $orderProduct->sku = $product->sku; $orderProduct->name = $product->name; $orderProduct->number = $product->number; $orderProduct->market_price = $product->market_price; $orderProduct->price = $product->price; $orderProduct->thumb = $product->thumb; $orderProduct->type = $product->type; $orderProduct->save(); // 减少商品的库存 Product::updateAllCounters(['stock' => -$product->number], ['id' => $product->product_id]); } // 生成订单后,清空购物车,设置优惠码,更新积分和积分记录 Cart::deleteAll(['session_id' => Yii::$app->session->id]); if (isset($couponUser) && Yii::$app->request->post('checkbox-coupon')) { $couponUser->used_at = time(); $couponUser->order_id = $model->id; $couponUser->save(); } if (isset($couponCode) && Yii::$app->request->post('checkbox-coupon')) { $couponCode->user_id = Yii::$app->user->id; $couponCode->used_at = time(); $couponCode->order_id = $model->id; $couponCode->save(); } if (isset($point) && Yii::$app->request->post('checkbox-point')) { $balance = Yii::$app->user->identity->point - $point; User::updateAllCounters(['point' => -$point], ['id' => Yii::$app->user->id]); $pointLog = new PointLog(['user_id' => Yii::$app->user->id, 'type' => PointLog::POINT_TYPE_BUYING, 'point' => -$point, 'balance' => $balance]); $pointLog->save(); } // 记录订单日志 $orderLog = new OrderLog(['order_id' => $model->id, 'status' => $model->status]); $orderLog->save(); // 不同的付款方式到不同的页面 if ($model->payment_method == Order::PAYMENT_METHOD_COD) { return $this->redirect(['cart/cod', 'id' => $model->id]); } else { return $this->redirect(['cart/pay', 'sn' => $model->sn]); } } } $products = Cart::find()->where(['session_id' => Yii::$app->session->id])->all(); if (!count($products)) { return $this->redirect('/cart'); } if (count($addresses)) { return $this->render('checkout', ['model' => $model, 'addresses' => $addresses, 'products' => $products]); } else { return $this->redirect(['cart/address']); } }
public function actionCartFormSubmit() { if (Yii::$app->request->isPost) { $model_form = new Order(); $model_form->load(Yii::$app->request->post()); $model_form->scenario = 'submit'; $model_form->payment_type = Yii::$app->request->post('payment') ? Yii::$app->request->post('payment') : 0; //$model_form->validate(); //vd( $model_form->getErrors()); $model_form->status = 1; } if ($model_form->load(Yii::$app->request->post()) && $model_form->validate()) { $model_form->save(); Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; Yii::$app->session->setFlash('success', 'Благодарим за покупку'); //Todo сохранить заказы !!! $iP = Yii::$app->session->id; $model = Cart::getAllByIp($iP); if ($model) { //vd($model_form->created_at); $listItemsInOrder = OrderItems::Add($model, $model_form->id, $model_form->created_at); //vd($listItemsInOrder); } //Todo отправка email !!! // Todo отправка ел почты //$model_Email = Email::find()->where(['id' => 1])->one(); // $currEmail = $model_Email->email; //vd($model->email); Yii::$app->mailer->compose(['html' => '@common/mail/order'], ['order_id' => $model_form->id, 'listItemsInOrder' => $listItemsInOrder])->setFrom('*****@*****.**')->setTo('*****@*****.**')->setSubject('нОвый заказ')->send(); //Todo Очистить корзину Cart::DeleteAllByIp($iP); $this->redirect('/site/index'); } else { // либо страница отображается первый раз, либо есть ошибка в данных $data = $this->getCommonDate(); $model_form = new Order(); $iP = Yii::$app->session->id; $model = Cart::getAllByIp($iP); } return $this->render('cart', ['data' => $data, 'model' => $model, 'model_form' => $model_form]); }