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);
     }
 }
示例#2
0
 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]);
 }
示例#3
0
 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]);
 }
示例#4
0
 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]);
 }
示例#5
0
<?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">&laquo; <?php