Commit 7c3211cc3b8c75ef62fe2032e3f1620e2ffd3de4

Authored by Administrator
1 parent 3fb5ce0c

big commti

frontend/controllers/BasketController.php
@@ -76,11 +76,15 @@ @@ -76,11 +76,15 @@
76 */ 76 */
77 public function getModal($basket): string 77 public function getModal($basket): string
78 { 78 {
  79 +
  80 + \Yii::$app->getAssetManager()->bundles['yii\web\JqueryAsset']['js'] =[];
  81 +
  82 +
79 $output = ''; 83 $output = '';
80 $data = $basket->getData(); 84 $data = $basket->getData();
81 $models = $basket->findModels(array_keys($data)); 85 $models = $basket->findModels(array_keys($data));
82 if(!empty( $models )) { 86 if(!empty( $models )) {
83 - $output = $this->renderPartial('modal_items', [ 87 + $output = $this->renderAjax('modal_items', [
84 'models' => $models, 88 'models' => $models,
85 'basket' => $basket, 89 'basket' => $basket,
86 ]); 90 ]);
frontend/controllers/OrderController.php
@@ -174,6 +174,7 @@ @@ -174,6 +174,7 @@
174 174
175 public function actionQuickBasket() 175 public function actionQuickBasket()
176 { 176 {
  177 +
177 $response = \Yii::$app->response; 178 $response = \Yii::$app->response;
178 $request = \Yii::$app->request; 179 $request = \Yii::$app->request;
179 $response->format = $response::FORMAT_JSON; 180 $response->format = $response::FORMAT_JSON;
@@ -181,11 +182,16 @@ @@ -181,11 +182,16 @@
181 * @var array $data 182 * @var array $data
182 */ 183 */
183 $data = \Yii::$app->basket->getData(); 184 $data = \Yii::$app->basket->getData();
  185 +
184 $orders = new Orders([ 186 $orders = new Orders([
185 'scenario' => Orders::SCENARIO_QUICK, 187 'scenario' => Orders::SCENARIO_QUICK,
186 'name' => 'Покупка в 1 клик', 188 'name' => 'Покупка в 1 клик',
187 ]); 189 ]);
  190 +
  191 +
  192 +
188 if(!empty( $data )) { 193 if(!empty( $data )) {
  194 +
189 /** 195 /**
190 * @var ProductVariant[] $product_variants 196 * @var ProductVariant[] $product_variants
191 * @var OrdersProducts[] $order_products 197 * @var OrdersProducts[] $order_products
@@ -193,6 +199,7 @@ @@ -193,6 +199,7 @@
193 $product_variants = []; 199 $product_variants = [];
194 $order_products = []; 200 $order_products = [];
195 foreach($data as $product_variant_id => $item) { 201 foreach($data as $product_variant_id => $item) {
  202 +
196 $product_variant = ProductVariant::findOne($product_variant_id); 203 $product_variant = ProductVariant::findOne($product_variant_id);
197 if(!empty($product_variant) && $product_variant->price > 0) { 204 if(!empty($product_variant) && $product_variant->price > 0) {
198 $product_variants[$product_variant_id] = $product_variant; 205 $product_variants[$product_variant_id] = $product_variant;
@@ -207,10 +214,16 @@ @@ -207,10 +214,16 @@
207 ]); 214 ]);
208 } 215 }
209 } 216 }
  217 +
210 } else { 218 } else {
  219 +
211 throw new InvalidParamException('Не указан товар'); 220 throw new InvalidParamException('Не указан товар');
212 } 221 }
  222 +
  223 +
  224 +
213 if(!empty( $order_products ) && $orders->load($request->post()) && $orders->save()) { 225 if(!empty( $order_products ) && $orders->load($request->post()) && $orders->save()) {
  226 +
214 foreach($order_products as $order_product) { 227 foreach($order_products as $order_product) {
215 $order_product->order_id = $orders->id; 228 $order_product->order_id = $orders->id;
216 $order_product->save(); 229 $order_product->save();
@@ -220,6 +233,7 @@ @@ -220,6 +233,7 @@
220 'result' => 'Спасибо за заказ! Наши менеджеры свяжутся с Вами в ближайшее время.', 233 'result' => 'Спасибо за заказ! Наши менеджеры свяжутся с Вами в ближайшее время.',
221 ]; 234 ];
222 } else { 235 } else {
  236 +
223 throw new InvalidConfigException('Товар не найден или не удалось загрузить данные о покупателе.'); 237 throw new InvalidConfigException('Товар не найден или не удалось загрузить данные о покупателе.');
224 } 238 }
225 } 239 }