public function actionOrder() { if (Yii::$app->session->get('ids')) { $model = new OrderForm(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { $order = new Orders(); $order->delivery = $model->delivery; $ids = Yii::$app->session->get('ids'); $id_count = Yii::$app->session->get('id_count'); $s = ""; for ($i = 0; $i < count($ids); $i++) { $s .= "({$ids[$i]} [{$id_count[$i]}]), "; } $order->product_ids = $s; $order->price = Yii::$app->session->get('price'); $order->email = Html::encode($model->email); $order->adress = Html::encode($model->adress); $order->notice = Html::encode($model->notice); $order->name = Html::encode($model->name); $order->phone = Html::encode($model->phone); $order->date_order = date("Y-m-d H:i:s"); Yii::$app->mailer->compose()->setFrom('*****@*****.**')->setTo($model->email)->setSubject('Заказ товаров на mobzp.ua')->setTextBody('<article id="articles"> <h2>Вы успешно заказали наушники</h2> <p>С вами свяжется наш оператор в течении полу часа и уточнит данные для отправки или место передачи товара.</p> <p>После отправки по новой почте, вам придет смс, что товар отправлен и вы сможете его получить в вашем отделении через несколько дней.</p> <p>Спасибо, что воспользовались услугами нашего магазина! Мы всегда рады положительным отзывам на страничке товара.</p> </article>')->send(); $order->save(); return $this->render('ordersuccess'); } return $this->render('order', ['model' => $model]); } else { return $this->redirect(Yii::$app->request->referrer); } }
public function run() { $this->view->registerJs(' $("#order-form-form").submit(function(){ var $form = $(this); $.ajax({ url: "/site/order", type: "POST", data: $form.serialize(), success: function(data){ if(data=="success"){ $(".form-control").removeClass("has-error"); alert("Ваш заказ отправлен. Наш менеджер свяжется с Вами в ближайшее время"); }else{ $.each(data, function(index,item){ $("#"+index).addClass("has-error"); }); } } }); return false; }); '); $model = new Form(); if ($model->load(Yii::$app->request->post())) { $model->validate(); } return $this->render('order-form', ['model' => $model]); }
public function actionIndex($id) { assert($id > 0); $product = Products::findOne($id); assert(isset($product)); $model = new OrderForm(); if (Yii::$app->request->isPost) { //POST $model->load(Yii::$app->request->post()); if ($model->validate()) { //TODO: store order in DB $order = new Order(); //etc............. return $this->render('success'); } else { $errors = $model->errors; } } else { //GET } $model->Product = $product; return $this->render('index', ['model' => $model]); }
public function actionOrder($id) { $model = new OrderForm(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { $order = $model->add($id); if (!$order) { Yii::$app->session->setFlash('error', 'Ошибка при валидации'); Yii::error('Ошибка при валидации'); return $this->goHome(); } return $this->goHome(); } return $this->render('order', ['model' => $model]); }
<?php use yii\helpers\Html; use yii\helpers\Url; use app\helpers\EshopHelper; use app\models\OrderForm; if (Yii::$app->db->createCommand("SELECT COUNT(id) FROM cart WHERE hash = {$hash}")->queryScalar() == 0) { header('Location: ' . Url::home(true)); exit; } $model = new \app\models\OrderForm(); $model->attributes = \Yii::$app->request->post('OrderForm'); $validate = $model->validate(); ?> <div class="container"> <div class="page-header"> <div class="row"> <div class="col-md-10"> <h1><?php echo \Yii::t('app', 'Оформление заказа'); ?> </h1> </div> <div class="col-md-2"> <?php if (empty($_POST) or !$validate) { ?> <a href="<?php echo EshopHelper::createUrl('cart'); ?> " class="pull-right">« <?php