Commit 94a1dbd29313d96289d45e4b6fdaff085376674f
1 parent
9c88815c
Checkout top
Showing
2 changed files
with
52 additions
and
255 deletions
Show diff stats
frontend/controllers/CheckoutController.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | namespace frontend\controllers; | 3 | namespace frontend\controllers; |
4 | - | 4 | + |
5 | + use artbox\catalog\models\Product; | ||
5 | use artbox\order\models\Delivery; | 6 | use artbox\order\models\Delivery; |
6 | use artbox\order\models\OrderProduct; | 7 | use artbox\order\models\OrderProduct; |
7 | use artbox\order\models\Payment; | 8 | use artbox\order\models\Payment; |
8 | use frontend\models\Order; | 9 | use frontend\models\Order; |
9 | use yii\web\Controller; | 10 | use yii\web\Controller; |
10 | - | 11 | + |
11 | /** | 12 | /** |
12 | * Class CheckoutController | 13 | * Class CheckoutController |
13 | * | 14 | * |
@@ -26,15 +27,21 @@ | @@ -26,15 +27,21 @@ | ||
26 | if (!empty($data)) { | 27 | if (!empty($data)) { |
27 | $variants = $basket->findModels(array_keys($data)); | 28 | $variants = $basket->findModels(array_keys($data)); |
28 | } | 29 | } |
30 | + $topItems = Product::find() | ||
31 | + ->with('lang', 'image', 'variants') | ||
32 | + ->is('mask', 1) | ||
33 | + ->limit(20) | ||
34 | + ->all(); | ||
29 | return $this->render( | 35 | return $this->render( |
30 | 'index', | 36 | 'index', |
31 | [ | 37 | [ |
32 | 'basket' => $basket, | 38 | 'basket' => $basket, |
33 | 'variants' => $variants, | 39 | 'variants' => $variants, |
40 | + 'topItems' => $topItems, | ||
34 | ] | 41 | ] |
35 | ); | 42 | ); |
36 | } | 43 | } |
37 | - | 44 | + |
38 | public function actionInfo() | 45 | public function actionInfo() |
39 | { | 46 | { |
40 | $model = new Order( | 47 | $model = new Order( |
@@ -65,7 +72,7 @@ | @@ -65,7 +72,7 @@ | ||
65 | ] | 72 | ] |
66 | ); | 73 | ); |
67 | } | 74 | } |
68 | - | 75 | + |
69 | public function actionDelivery() | 76 | public function actionDelivery() |
70 | { | 77 | { |
71 | $model = new Order( | 78 | $model = new Order( |
@@ -84,10 +91,10 @@ | @@ -84,10 +91,10 @@ | ||
84 | return $this->redirect([ 'info' ]); | 91 | return $this->redirect([ 'info' ]); |
85 | } | 92 | } |
86 | $deliveries = Delivery::find() | 93 | $deliveries = Delivery::find() |
87 | - ->with('lang') | ||
88 | - ->where([ 'status' => true ]) | ||
89 | - ->orderBy([ 'sort' => SORT_ASC ]) | ||
90 | - ->all(); | 94 | + ->with('lang') |
95 | + ->where([ 'status' => true ]) | ||
96 | + ->orderBy([ 'sort' => SORT_ASC ]) | ||
97 | + ->all(); | ||
91 | return $this->render( | 98 | return $this->render( |
92 | 'delivery', | 99 | 'delivery', |
93 | [ | 100 | [ |
@@ -96,7 +103,7 @@ | @@ -96,7 +103,7 @@ | ||
96 | ] | 103 | ] |
97 | ); | 104 | ); |
98 | } | 105 | } |
99 | - | 106 | + |
100 | public function actionPayment() | 107 | public function actionPayment() |
101 | { | 108 | { |
102 | $model = new Order( | 109 | $model = new Order( |
@@ -116,10 +123,10 @@ | @@ -116,10 +123,10 @@ | ||
116 | return $this->redirect('confirm'); | 123 | return $this->redirect('confirm'); |
117 | } else { | 124 | } else { |
118 | $payments = Payment::find() | 125 | $payments = Payment::find() |
119 | - ->with('lang') | ||
120 | - ->where([ 'status' => true ]) | ||
121 | - ->orderBy([ 'sort' => SORT_ASC ]) | ||
122 | - ->all(); | 126 | + ->with('lang') |
127 | + ->where([ 'status' => true ]) | ||
128 | + ->orderBy([ 'sort' => SORT_ASC ]) | ||
129 | + ->all(); | ||
123 | return $this->render( | 130 | return $this->render( |
124 | 'payment', | 131 | 'payment', |
125 | [ | 132 | [ |
@@ -135,7 +142,7 @@ | @@ -135,7 +142,7 @@ | ||
135 | 'delivery' | 142 | 'delivery' |
136 | ); | 143 | ); |
137 | } | 144 | } |
138 | - | 145 | + |
139 | public function actionConfirm() | 146 | public function actionConfirm() |
140 | { | 147 | { |
141 | $model = new Order(); | 148 | $model = new Order(); |
@@ -208,7 +215,7 @@ | @@ -208,7 +215,7 @@ | ||
208 | } | 215 | } |
209 | return $model->getErrors(); | 216 | return $model->getErrors(); |
210 | } | 217 | } |
211 | - | 218 | + |
212 | public function beforeAction($action) | 219 | public function beforeAction($action) |
213 | { | 220 | { |
214 | /** | 221 | /** |
frontend/views/checkout/index.php
@@ -3,6 +3,7 @@ | @@ -3,6 +3,7 @@ | ||
3 | * @var \yii\web\View $this | 3 | * @var \yii\web\View $this |
4 | * @var \artbox\order\models\Basket $basket | 4 | * @var \artbox\order\models\Basket $basket |
5 | * @var \artbox\catalog\models\Variant[] $variants | 5 | * @var \artbox\catalog\models\Variant[] $variants |
6 | + * @var \artbox\catalog\models\Product[] $topItems | ||
6 | */ | 7 | */ |
7 | use artbox\core\helpers\ImageHelper; | 8 | use artbox\core\helpers\ImageHelper; |
8 | use yii\bootstrap\Html; | 9 | use yii\bootstrap\Html; |
@@ -208,249 +209,38 @@ | @@ -208,249 +209,38 @@ | ||
208 | } | 209 | } |
209 | ?> | 210 | ?> |
210 | </div> | 211 | </div> |
211 | - <div class="col-md-12"> | ||
212 | - <div class="heading text-center"> | ||
213 | - <h2>Смотрите также</h2> | ||
214 | - </div> | ||
215 | - | ||
216 | - <div class="product-carousel"> | ||
217 | - <div class="homepage owl-carousel"> | ||
218 | - <div class="products"> | ||
219 | - <div class="col-md-3 col-sm-6"> | ||
220 | - <div class="product"> | ||
221 | - <div class="image"> | ||
222 | - <a href="shop-detail.html"> | ||
223 | - <img src="/img/product1.jpg" alt="" class="img-responsive image1"> | ||
224 | - </a> | ||
225 | - </div> | ||
226 | - <!-- /.image --> | ||
227 | - <div class="text"> | ||
228 | - <h3><a href="shop-detail.html">Fur coat with very but very very long name</a></h3> | ||
229 | - <p class="price">143.00</p> | ||
230 | - <p class="buttons"> | ||
231 | - <a href="shop-basket.html" class="btn btn-template-main"><i class="fa fa-shopping-cart"></i>В корзину</a> | ||
232 | - </p> | ||
233 | - </div> | ||
234 | - <!-- /.text --> | ||
235 | - | ||
236 | - <div class="ribbon new"> | ||
237 | - <div class="theribbon">Новое</div> | ||
238 | - <div class="ribbon-background"></div> | ||
239 | - </div> | ||
240 | - <!-- /.ribbon --> | ||
241 | - </div> | ||
242 | - <!-- /.product --> | ||
243 | - </div> | ||
244 | - | ||
245 | - <div class="col-md-3 col-sm-6"> | ||
246 | - <div class="product"> | ||
247 | - <div class="image"> | ||
248 | - <a href="shop-detail.html"> | ||
249 | - <img src="/img/product2.jpg" alt="" class="img-responsive image1"> | ||
250 | - </a> | ||
251 | - </div> | ||
252 | - <!-- /.image --> | ||
253 | - <div class="text"> | ||
254 | - <h3><a href="shop-detail.html">White Blouse Armani</a></h3> | ||
255 | - <p class="price"> | ||
256 | - <del>280</del> | ||
257 | - 143.00 | ||
258 | - </p> | ||
259 | - <p class="buttons"> | ||
260 | - <a href="shop-basket.html" class="btn btn-template-main"><i class="fa fa-shopping-cart"></i>В корзину</a> | ||
261 | - </p> | ||
262 | - </div> | ||
263 | - <!-- /.text --> | ||
264 | - | ||
265 | - <div class="ribbon sale"> | ||
266 | - <div class="theribbon">Акция</div> | ||
267 | - <div class="ribbon-background"></div> | ||
268 | - </div> | ||
269 | - <!-- /.ribbon --> | ||
270 | - | ||
271 | - <div class="ribbon new"> | ||
272 | - <div class="theribbon">Новое</div> | ||
273 | - <div class="ribbon-background"></div> | ||
274 | - </div> | ||
275 | - <!-- /.ribbon --> | ||
276 | - </div> | ||
277 | - <!-- /.product --> | ||
278 | - </div> | ||
279 | - | ||
280 | - <div class="col-md-3 col-sm-6"> | ||
281 | - <div class="product"> | ||
282 | - <div class="image"> | ||
283 | - <a href="shop-detail.html"> | ||
284 | - <img src="/img/product3.jpg" alt="" class="img-responsive image1"> | ||
285 | - </a> | ||
286 | - </div> | ||
287 | - <!-- /.image --> | ||
288 | - <div class="text"> | ||
289 | - <h3><a href="shop-detail.html">Black Blouse Versace</a></h3> | ||
290 | - <p class="price">143.00</p> | ||
291 | - <p class="buttons"> | ||
292 | - <a href="shop-basket.html" class="btn btn-template-main"><i class="fa fa-shopping-cart"></i>В корзину</a> | ||
293 | - </p> | ||
294 | - | ||
295 | - </div> | ||
296 | - <!-- /.text --> | ||
297 | - | ||
298 | - <div class="ribbon new"> | ||
299 | - <div class="theribbon">Новое</div> | ||
300 | - <div class="ribbon-background"></div> | ||
301 | - </div> | ||
302 | - <!-- /.ribbon --> | ||
303 | - </div> | ||
304 | - <!-- /.product --> | ||
305 | - </div> | ||
306 | - | ||
307 | - <div class="col-md-3 col-sm-6"> | ||
308 | - <div class="product"> | ||
309 | - <div class="image"> | ||
310 | - <a href="shop-detail.html"> | ||
311 | - <img src="/img/product3.jpg" alt="" class="img-responsive image1"> | ||
312 | - </a> | ||
313 | - </div> | ||
314 | - <!-- /.image --> | ||
315 | - <div class="text"> | ||
316 | - <h3><a href="shop-detail.html">Black Blouse Versace</a></h3> | ||
317 | - <p class="price">143.00</p> | ||
318 | - <p class="buttons"> | ||
319 | - <a href="shop-basket.html" class="btn btn-template-main"><i class="fa fa-shopping-cart"></i>В корзину</a> | ||
320 | - </p> | ||
321 | - | ||
322 | - </div> | ||
323 | - <!-- /.text --> | ||
324 | - | ||
325 | - <div class="ribbon new"> | ||
326 | - <div class="theribbon">Новое</div> | ||
327 | - <div class="ribbon-background"></div> | ||
328 | - </div> | ||
329 | - <!-- /.ribbon --> | ||
330 | - </div> | ||
331 | - <!-- /.product --> | ||
332 | - </div> | ||
333 | - </div> | ||
334 | - | ||
335 | - <div class="products"> | ||
336 | - <div class="col-md-3 col-sm-6"> | ||
337 | - <div class="product"> | ||
338 | - <div class="image"> | ||
339 | - <a href="shop-detail.html"> | ||
340 | - <img src="/img/product1.jpg" alt="" class="img-responsive image1"> | ||
341 | - </a> | ||
342 | - </div> | ||
343 | - <!-- /.image --> | ||
344 | - <div class="text"> | ||
345 | - <h3><a href="shop-detail.html">Fur coat with very but very very long name</a></h3> | ||
346 | - <p class="price">143.00</p> | ||
347 | - <p class="buttons"> | ||
348 | - <a href="shop-basket.html" class="btn btn-template-main"><i class="fa fa-shopping-cart"></i>В корзину</a> | ||
349 | - </p> | ||
350 | - </div> | ||
351 | - <!-- /.text --> | ||
352 | - | ||
353 | - <div class="ribbon new"> | ||
354 | - <div class="theribbon">Новое</div> | ||
355 | - <div class="ribbon-background"></div> | ||
356 | - </div> | ||
357 | - <!-- /.ribbon --> | ||
358 | - </div> | ||
359 | - <!-- /.product --> | ||
360 | - </div> | ||
361 | - | ||
362 | - <div class="col-md-3 col-sm-6"> | ||
363 | - <div class="product"> | ||
364 | - <div class="image"> | ||
365 | - <a href="shop-detail.html"> | ||
366 | - <img src="/img/product2.jpg" alt="" class="img-responsive image1"> | ||
367 | - </a> | ||
368 | - </div> | ||
369 | - <!-- /.image --> | ||
370 | - <div class="text"> | ||
371 | - <h3><a href="shop-detail.html">White Blouse Armani</a></h3> | ||
372 | - <p class="price"> | ||
373 | - <del>280</del> | ||
374 | - 143.00 | ||
375 | - </p> | ||
376 | - <p class="buttons"> | ||
377 | - <a href="shop-basket.html" class="btn btn-template-main"><i class="fa fa-shopping-cart"></i>В корзину</a> | ||
378 | - </p> | ||
379 | - </div> | ||
380 | - <!-- /.text --> | ||
381 | - | ||
382 | - <div class="ribbon sale"> | ||
383 | - <div class="theribbon">Акция</div> | ||
384 | - <div class="ribbon-background"></div> | ||
385 | - </div> | ||
386 | - <!-- /.ribbon --> | ||
387 | - | ||
388 | - <div class="ribbon new"> | ||
389 | - <div class="theribbon">Новое</div> | ||
390 | - <div class="ribbon-background"></div> | ||
391 | - </div> | ||
392 | - <!-- /.ribbon --> | ||
393 | - </div> | ||
394 | - <!-- /.product --> | ||
395 | - </div> | ||
396 | - | ||
397 | - <div class="col-md-3 col-sm-6"> | ||
398 | - <div class="product"> | ||
399 | - <div class="image"> | ||
400 | - <a href="shop-detail.html"> | ||
401 | - <img src="/img/product3.jpg" alt="" class="img-responsive image1"> | ||
402 | - </a> | ||
403 | - </div> | ||
404 | - <!-- /.image --> | ||
405 | - <div class="text"> | ||
406 | - <h3><a href="shop-detail.html">Black Blouse Versace</a></h3> | ||
407 | - <p class="price">143.00</p> | ||
408 | - <p class="buttons"> | ||
409 | - <a href="shop-basket.html" class="btn btn-template-main"><i class="fa fa-shopping-cart"></i>В корзину</a> | ||
410 | - </p> | ||
411 | - | ||
412 | - </div> | ||
413 | - <!-- /.text --> | ||
414 | - | ||
415 | - <div class="ribbon new"> | ||
416 | - <div class="theribbon">Новое</div> | ||
417 | - <div class="ribbon-background"></div> | ||
418 | - </div> | ||
419 | - <!-- /.ribbon --> | ||
420 | - </div> | ||
421 | - <!-- /.product --> | 212 | + <?php |
213 | + if (!empty($topItems)) { | ||
214 | + ?> | ||
215 | + <div class="heading text-center"> | ||
216 | + <h2><?php echo \Yii::t('app', 'Смотрите также'); ?></h2> | ||
422 | </div> | 217 | </div> |
423 | - | ||
424 | - <div class="col-md-3 col-sm-6"> | ||
425 | - <div class="product"> | ||
426 | - <div class="image"> | ||
427 | - <a href="shop-detail.html"> | ||
428 | - <img src="/img/product3.jpg" alt="" class="img-responsive image1"> | ||
429 | - </a> | ||
430 | - </div> | ||
431 | - <!-- /.image --> | ||
432 | - <div class="text"> | ||
433 | - <h3><a href="shop-detail.html">Black Blouse Versace</a></h3> | ||
434 | - <p class="price">143.00</p> | ||
435 | - <p class="buttons"> | ||
436 | - <a href="shop-basket.html" class="btn btn-template-main"><i class="fa fa-shopping-cart"></i>В корзину</a> | ||
437 | - </p> | ||
438 | - | ||
439 | - </div> | ||
440 | - <!-- /.text --> | ||
441 | - | ||
442 | - <div class="ribbon new"> | ||
443 | - <div class="theribbon">Новое</div> | ||
444 | - <div class="ribbon-background"></div> | ||
445 | - </div> | ||
446 | - <!-- /.ribbon --> | 218 | + <div class="product-carousel"> |
219 | + <div class="homepage owl-carousel"> | ||
220 | + <?php | ||
221 | + $newItemsArrays = array_chunk($topItems, 4); | ||
222 | + foreach ($newItemsArrays as $newItemsArray) { | ||
223 | + ?> | ||
224 | + <div class="products"> | ||
225 | + <?php | ||
226 | + foreach ($newItemsArray as $product) { | ||
227 | + echo $this->render( | ||
228 | + '@frontend/views/site/_slider_product', | ||
229 | + [ | ||
230 | + 'product' => $product, | ||
231 | + ] | ||
232 | + ); | ||
233 | + } | ||
234 | + ?> | ||
235 | + </div> | ||
236 | + <?php | ||
237 | + } | ||
238 | + ?> | ||
447 | </div> | 239 | </div> |
448 | - <!-- /.product --> | ||
449 | </div> | 240 | </div> |
450 | - </div> | ||
451 | - </div> | ||
452 | - </div> | ||
453 | - </div> | 241 | + <?php |
242 | + } | ||
243 | + ?> | ||
454 | </div> | 244 | </div> |
455 | </div> | 245 | </div> |
456 | </div> | 246 | </div> |
457 | \ No newline at end of file | 247 | \ No newline at end of file |