Commit 7c3211cc3b8c75ef62fe2032e3f1620e2ffd3de4

Authored by Administrator
1 parent 3fb5ce0c

big commti

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