Commit 7c3211cc3b8c75ef62fe2032e3f1620e2ffd3de4
1 parent
3fb5ce0c
big commti
Showing
2 changed files
with
19 additions
and
1 deletions
Show diff stats
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 | } | ... | ... |