Commit 197460598e89cfcac46ecee01b6f52800ae83d31
merge with server
Showing
8 changed files
with
213 additions
and
50 deletions
Show diff stats
@@ -12,7 +12,10 @@ AddDefaultCharset utf-8 | @@ -12,7 +12,10 @@ AddDefaultCharset utf-8 | ||
12 | 12 | ||
13 | RewriteBase / | 13 | RewriteBase / |
14 | # deal with admin first | 14 | # deal with admin first |
15 | - RewriteRule ^storage/(.*)?$ /storage/$1 [L,PT] | 15 | + |
16 | + | ||
17 | + | ||
18 | + RewriteRule ^storage/(.*)?$ /storage/$1 [L,PT] | ||
16 | 19 | ||
17 | RewriteCond %{REQUEST_URI} ^/(admin) | 20 | RewriteCond %{REQUEST_URI} ^/(admin) |
18 | 21 | ||
@@ -61,7 +64,7 @@ AddDefaultCharset utf-8 | @@ -61,7 +64,7 @@ AddDefaultCharset utf-8 | ||
61 | 64 | ||
62 | RewriteCond %{REQUEST_FILENAME} !-d | 65 | RewriteCond %{REQUEST_FILENAME} !-d |
63 | 66 | ||
64 | - RewriteRule ^.*$ frontend/web/index.php | 67 | + RewriteRule ^.*$ frontend/web/index.php [L] |
65 | 68 | ||
66 | </IfModule> | 69 | </IfModule> |
67 | 70 |
frontend/controllers/GoodsController.php
@@ -27,6 +27,7 @@ class GoodsController extends Controller | @@ -27,6 +27,7 @@ class GoodsController extends Controller | ||
27 | $brand = $arr_name[0]; | 27 | $brand = $arr_name[0]; |
28 | $article = $arr_name[1]; | 28 | $article = $arr_name[1]; |
29 | 29 | ||
30 | + | ||
30 | $params = Yii::$app->request->getQueryParams(); | 31 | $params = Yii::$app->request->getQueryParams(); |
31 | 32 | ||
32 | // получим параметры сортировки из гет запроса | 33 | // получим параметры сортировки из гет запроса |
@@ -37,6 +38,15 @@ class GoodsController extends Controller | @@ -37,6 +38,15 @@ class GoodsController extends Controller | ||
37 | 'brand' => $brand]; | 38 | 'brand' => $brand]; |
38 | $arr = ['GoodsViewSearch' => $arr_values]; | 39 | $arr = ['GoodsViewSearch' => $arr_values]; |
39 | 40 | ||
41 | + if(empty( Yii::$app->user->identity )){ | ||
42 | + $margin_id = 1; | ||
43 | + }else{ | ||
44 | + $margin_id = Yii::$app->user->identity->margin_id; | ||
45 | + } | ||
46 | + | ||
47 | +// $arr = ['GoodsViewSearch' => ['name' => '0092S40090', | ||
48 | +// 'brand' => 'BOSCH']]; | ||
49 | + | ||
40 | if (empty(Yii::$app->user->identity)) { | 50 | if (empty(Yii::$app->user->identity)) { |
41 | $margin_id = 1; | 51 | $margin_id = 1; |
42 | } else { | 52 | } else { |
frontend/views/goods/index.php
@@ -21,6 +21,7 @@ $this->params['breadcrumbs'][] = $this->title; | @@ -21,6 +21,7 @@ $this->params['breadcrumbs'][] = $this->title; | ||
21 | \yii\widgets\Pjax::begin(); | 21 | \yii\widgets\Pjax::begin(); |
22 | ?> | 22 | ?> |
23 | 23 | ||
24 | + | ||
24 | <div class='vin table '> | 25 | <div class='vin table '> |
25 | <a href="" class='navigation'>Италавто</a> | 26 | <a href="" class='navigation'>Италавто</a> |
26 | <img src="/images/arrow_dots.png"> | 27 | <img src="/images/arrow_dots.png"> |
frontend/views/goods/one_item.php
1 | <?php | 1 | <?php |
2 | use \yii\helpers\Html; | 2 | use \yii\helpers\Html; |
3 | - | 3 | +$this->registerCssFile('/css/BC2_catalog_zapchasti.css'); |
4 | // если товар один и тот же то выводим только цену и кол-во | 4 | // если товар один и тот же то выводим только цену и кол-во |
5 | // иначе всю информацию | 5 | // иначе всю информацию |
6 | $new_good = false; | 6 | $new_good = false; |
1 | +<?php | ||
2 | +use \yii\helpers\Html; | ||
3 | + | ||
4 | +$this->registerCssFile('/css/BC2_catalog_zapchasti.css'); | ||
5 | +// если товар один и тот же то выводим только цену и кол-во | ||
6 | +// иначе всю информацию | ||
7 | +$new_good = false; | ||
8 | +//в провайдере в качестве ключей установлен - артикул | ||
9 | +$article_arr = $widget->dataProvider->getKeys(); | ||
10 | +if ( empty($article_arr[$index - 1]) || $article_arr[$index - 1] != $key ) | ||
11 | + // если предыдущий артикул равен текущему, то это тот же товар | ||
12 | + $new_good = true; | ||
13 | +?> | ||
14 | + | ||
15 | +<?php $this->beginBlock('item_details'); | ||
16 | +// выделим отдельно детали товара в блок, для опционального его вывода | ||
17 | +?> | ||
18 | + <tr style="border-bottom: 0"> | ||
19 | + <td style="border-bottom: 0" class="small_width"><?= $model->brand?></td> | ||
20 | + <td style="border-bottom: 0" class="medium_width"><?= $model->article?> | ||
21 | + <img src="/images/favourite_notactive.png" class="favourite"> | ||
22 | + <img src="/images/favourite.png" class="pose"> | ||
23 | + </td> | ||
24 | + <td style="border-bottom: 0" class="large_width"><?= $model->description?> | ||
25 | + <a class="tecdoc_id_info" data-toggle="modal" data-target="#details_content_block" data-id="<?= $model->tecdoc_id ?>" href=""><img src="/images/gear.png"></a> | ||
26 | + <a href="" id="go_photo"><img src="/images/icon_cam.png"></a> | ||
27 | + </td> | ||
28 | +<?php $this->endBlock(); ?> | ||
29 | + | ||
30 | + <?php $this->beginBlock('empty_details'); | ||
31 | + // иначе пустой блок | ||
32 | + ?> | ||
33 | + <tr style="border-bottom: 0;border-top: 0;"> | ||
34 | + <td style="border-bottom: 0;border-top: 0;"></td> | ||
35 | + <td style="border-bottom: 0;border-top: 0;"></td> | ||
36 | + <td style="border-bottom: 0;border-top: 0;"></td> | ||
37 | + | ||
38 | + <?php $this->endBlock(); ?> | ||
39 | + | ||
40 | + <?php | ||
41 | + if($new_good){ | ||
42 | + echo $this->blocks['item_details']; | ||
43 | + }else{ | ||
44 | + echo $this->blocks['empty_details']; | ||
45 | + } | ||
46 | + | ||
47 | + ?> | ||
48 | + <td class="right"> | ||
49 | + <table class="tovar_table right" cellspacing="0" cellpadding="0" border="0" style="border: 0;"> | ||
50 | + <tbody> | ||
51 | + <tr class="one" style="border-bottom: 0; | ||
52 | + border-top: 0;"> | ||
53 | + <td class="row_select" style="border-bottom: 0; | ||
54 | + border-top: 0;"> | ||
55 | + <div class="lend-tovar-cart-left"> | ||
56 | + <input type="text" class="lend-tovar-cart-number" value="1"> | ||
57 | + <div class="arrow-cart-lend-wr"> | ||
58 | + <img class="arrow-cart-lend-1" src="/images/arrow-cart-up.png" width="9" height="6" alt=""> | ||
59 | + <img class="arrow-cart-lend-2" src="/images/arrow-cart-down1.png" width="9" height="6" alt=""> | ||
60 | + </div> | ||
61 | + </div> | ||
62 | + <button class="purple">В корзину</button> | ||
63 | + </td> | ||
64 | + | ||
65 | + </tr> | ||
66 | + </tbody></table> | ||
67 | + | ||
68 | + </td> | ||
69 | + <td class="right_large"> | ||
70 | + <table class="inner" border='0' style='border-top:0; border-left:0'> | ||
71 | + <tr border='0' style='border-top:0; border-left:0'><td border='0' style='border-top:0; border-left:0'><?= $model->box ?></td></tr> | ||
72 | + | ||
73 | + </table> | ||
74 | + </td> | ||
75 | + <td class="right_small"><table class="inner" border='0' style='border-top:0; border-left:0'> | ||
76 | + <tr border='0' style='border-top:0; border-left:0'><td border='0' style='border-top:0; border-left:0'><?= $model->delivery?> дн.</td></tr> | ||
77 | + | ||
78 | + </table></td> | ||
79 | + <td class="right_medium"><table class="inner" border='0' style='border-top:0; border-left:0'> | ||
80 | + <tr border='0' style='border-top:0; border-left:0'><td border='0' style='border-top:0; border-left:0'><?= $model->outputPrice?></td></tr> | ||
81 | + | ||
82 | + </table></td> | ||
83 | + </tr> | ||
84 | + | ||
85 | + | ||
86 | + <div id="modal_form_photo"> | ||
87 | + <span id="modal_close"><img src="/images/close_form.png"></span> | ||
88 | + <img src="<?= $model->image ?>"> | ||
89 | + </div> | ||
0 | \ No newline at end of file | 90 | \ No newline at end of file |
frontend/web/css/general_styles.css
@@ -1324,22 +1324,7 @@ table a{ | @@ -1324,22 +1324,7 @@ table a{ | ||
1324 | /*Modal window*/ | 1324 | /*Modal window*/ |
1325 | 1325 | ||
1326 | /* Окно */ | 1326 | /* Окно */ |
1327 | -#modal_form_photo { | ||
1328 | - width: 561px; | ||
1329 | - height: 391px; /* Размеры должны быть фиксированы */ | ||
1330 | - /*border-radius: 5px;*/ | ||
1331 | - /*border: 3px #000 solid;*/ | ||
1332 | - background: #fff; | ||
1333 | - position: fixed; /* чтобы окно было в видимой зоне в любом месте */ | ||
1334 | - top: 45%; /* отступаем сверху 45%, остальные 5% подвинет скрипт */ | ||
1335 | - left: 31%; /* половина экрана слева */ | ||
1336 | - margin-top: -150px; | ||
1337 | - /* тут вся магия центровки css, отступаем влево и вверх минус половину ширины и высоты соответственно =) */ | ||
1338 | - display: none; /* в обычном состоянии окна не должно быть */ | ||
1339 | - opacity: 0; /* полностью прозрачно для анимирования */ | ||
1340 | - z-index: 15; /* окно должно быть наиболее большем слое */ | ||
1341 | - | ||
1342 | -} | 1327 | + |
1343 | /* Кнопка закрыть для тех кто в танке) */ | 1328 | /* Кнопка закрыть для тех кто в танке) */ |
1344 | #modal_form_photo #modal_close { | 1329 | #modal_form_photo #modal_close { |
1345 | width: 21px; | 1330 | width: 21px; |
@@ -2751,15 +2736,12 @@ margin-left: 0!important | @@ -2751,15 +2736,12 @@ margin-left: 0!important | ||
2751 | } | 2736 | } |
2752 | 2737 | ||
2753 | #modal_form_photo { | 2738 | #modal_form_photo { |
2754 | - width: 561px; | ||
2755 | - height: 391px; /* Размеры должны быть фиксированы */ | ||
2756 | - /*border-radius: 5px;*/ | ||
2757 | - /*border: 3px #000 solid;*/ | 2739 | + width: auto; |
2740 | + height: auto; | ||
2758 | background: #fff; | 2741 | background: #fff; |
2759 | - position: fixed; /* чтобы окно было в видимой зоне в любом месте */ | 2742 | + position: absolute; /* чтобы окно было в видимой зоне в любом месте */ |
2760 | top: 45%; /* отступаем сверху 45%, остальные 5% подвинет скрипт */ | 2743 | top: 45%; /* отступаем сверху 45%, остальные 5% подвинет скрипт */ |
2761 | - left: 31%; /* половина экрана слева */ | ||
2762 | - margin-top: -150px; | 2744 | + left: 50%; /* половина экрана слева */ |
2763 | /* тут вся магия центровки css, отступаем влево и вверх минус половину ширины и высоты соответственно =) */ | 2745 | /* тут вся магия центровки css, отступаем влево и вверх минус половину ширины и высоты соответственно =) */ |
2764 | display: none; /* в обычном состоянии окна не должно быть */ | 2746 | display: none; /* в обычном состоянии окна не должно быть */ |
2765 | opacity: 0; /* полностью прозрачно для анимирования */ | 2747 | opacity: 0; /* полностью прозрачно для анимирования */ |
frontend/web/css/main.css
@@ -575,4 +575,54 @@ div.required:after { content: " *"; | @@ -575,4 +575,54 @@ div.required:after { content: " *"; | ||
575 | 575 | ||
576 | .arrow_downA{ | 576 | .arrow_downA{ |
577 | background: url("/images/icon2r.png") no-repeat 93%!important; | 577 | background: url("/images/icon2r.png") no-repeat 93%!important; |
578 | +} | ||
579 | + | ||
580 | +.table_details{ | ||
581 | + width: auto; | ||
582 | +} | ||
583 | + | ||
584 | +.details_content{ | ||
585 | + width: auto; | ||
586 | + margin: 31px auto; | ||
587 | +} | ||
588 | + | ||
589 | +.details-list{ | ||
590 | + margin: 20px auto; | ||
591 | + border: 1px solid #dedede; | ||
592 | + width: auto!important; | ||
593 | +} | ||
594 | + | ||
595 | +.details-list tr{ | ||
596 | + border: 1px solid #dedede; | ||
597 | + | ||
598 | +} | ||
599 | + | ||
600 | +.details-list td{ | ||
601 | + border: 1px solid #dedede; | ||
602 | + padding: 10px; | ||
603 | +} | ||
604 | + | ||
605 | +.details-list tr td:first-child{ | ||
606 | + font-weight: 500; | ||
607 | + font-style: italic; | ||
608 | +} | ||
609 | + | ||
610 | +.details-list th{ | ||
611 | + padding: 10px; | ||
612 | + border: 1px solid #dedede; | ||
613 | +} | ||
614 | + | ||
615 | + | ||
616 | +.tovar_table img { | ||
617 | + float: right; | ||
618 | + margin-right: 28px!important; | ||
619 | +} | ||
620 | + | ||
621 | +.large_width a:nth-child(1) img { | ||
622 | + position: absolute; | ||
623 | + right: -20px!important; | ||
624 | +} | ||
625 | + | ||
626 | +.large_width{ | ||
627 | + padding-left:13px!important; | ||
578 | } | 628 | } |
579 | \ No newline at end of file | 629 | \ No newline at end of file |
frontend/web/js/script.js
@@ -344,30 +344,58 @@ $('.phone_control, .phone_placeholder').click( | @@ -344,30 +344,58 @@ $('.phone_control, .phone_placeholder').click( | ||
344 | } | 344 | } |
345 | ); | 345 | ); |
346 | }); | 346 | }); |
347 | - $('a#go_photo').click( function(event){ // ловим клик по ссылки с id="go" | ||
348 | - event.preventDefault(); // выключаем стандартную роль элемента | ||
349 | - // console.log($(this).data('image')); | ||
350 | - // $('#modal_form_photo img').src($(this).data('image')) | ||
351 | - $('#overlay').fadeIn(400, // сначала плавно показываем темную подложку | ||
352 | - function(){ // после выполнения предъидущей анимации | ||
353 | - $('#modal_form_photo') | ||
354 | - .css('display', 'block') // убираем у модального окна display: none; | ||
355 | - .animate({opacity: 1, top: '50%'}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз | ||
356 | - }); | ||
357 | - }); | ||
358 | - $('.close_span').click(function(){ | ||
359 | - $('.collapse').removeClass('in'); | ||
360 | - }); | ||
361 | - /* Закрытие модального окна, тут делаем то же самое но в обратном порядке */ | ||
362 | - $('#modal_close, #overlay').click( function(){ // ловим клик по крестику или подложке | ||
363 | - $('#modal_form_photo') | ||
364 | - .animate({opacity: 0, top: '45%'}, 200, // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх | ||
365 | - function(){ // после анимации | ||
366 | - $(this).css('display', 'none'); // делаем ему display: none; | ||
367 | - $('#overlay').fadeOut(400); // скрываем подложку | ||
368 | - } | ||
369 | - ); | ||
370 | - }); | 347 | + //$('a#go_photo').click( function(event){ // ловим клик по ссылки с id="go" |
348 | + // event.preventDefault(); // выключаем стандартную роль элемента | ||
349 | + // // console.log($(this).data('image')); | ||
350 | + // // $('#modal_form_photo img').src($(this).data('image')) | ||
351 | + // $('#overlay').fadeIn(400, // сначала плавно показываем темную подложку | ||
352 | + // function(){ // после выполнения предъидущей анимации | ||
353 | + // $('#modal_form_photo') | ||
354 | + // .css('display', 'block') // убираем у модального окна display: none; | ||
355 | + // .animate({opacity: 1, top: '50%'}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз | ||
356 | + // }); | ||
357 | + //}); | ||
358 | + //$('.close_span').click(function(){ | ||
359 | + // $('.collapse').removeClass('in'); | ||
360 | + //}); | ||
361 | + ///* Закрытие модального окна, тут делаем то же самое но в обратном порядке */ | ||
362 | + //$('#modal_close, #overlay').click( function(){ // ловим клик по крестику или подложке | ||
363 | + // $('#modal_form_photo') | ||
364 | + // .animate({opacity: 0, top: '45%'}, 200, // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх | ||
365 | + // function(){ // после анимации | ||
366 | + // $(this).css('display', 'none'); // делаем ему display: none; | ||
367 | + // $('#overlay').fadeOut(400); // скрываем подложку | ||
368 | + // } | ||
369 | + // ); | ||
370 | + //}); | ||
371 | + $('a#go_photo').click( function(event){ // ловим клик по ссылки с id="go" | ||
372 | + event.preventDefault(); // выключаем стандартную роль элемента | ||
373 | + var scrollTop = window.pageYOffset ? window.pageYOffset : (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); | ||
374 | + viewportHeight = $(window).height(); | ||
375 | + var modalWidth=$('#modal_form_photo').width()/2; | ||
376 | + var modalHeight=$('#modal_form_photo').outerHeight()/2; | ||
377 | + $('#overlay').fadeIn(400, // сначала плавно показываем темную подложку | ||
378 | + function(){ // после выполнения предъидущей анимации | ||
379 | + $('#modal_form_photo') | ||
380 | + .css({'display':'block',opacity: 1, marginTop: -modalHeight, marginLeft: -modalWidth}) // убираем у модального окна display: none; | ||
381 | + .animate({opacity: 1, top: scrollTop+(viewportHeight/2)}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз | ||
382 | + | ||
383 | + | ||
384 | + }); | ||
385 | + | ||
386 | + }); | ||
387 | + /* Закрытие модального окна, тут делаем то же самое но в обратном порядке */ | ||
388 | + $('#modal_close, #overlay').click( function(){ // ловим клик по крестику или подложке | ||
389 | + $('#modal_form_photo') | ||
390 | + .animate({opacity: 0, top: '45%'}, 200, // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх | ||
391 | + function(){ // после анимации | ||
392 | + $(this).css('display', 'none'); // делаем ему display: none; | ||
393 | + $('#overlay').fadeOut(400); // скрываем подложку | ||
394 | + } | ||
395 | + ); | ||
396 | + }); | ||
397 | + | ||
398 | + | ||
371 | 399 | ||
372 | $('a#go_project').click( function(event){ // ловим клик по ссылки с id="go" | 400 | $('a#go_project').click( function(event){ // ловим клик по ссылки с id="go" |
373 | event.preventDefault(); // выключаем стандартную роль элемента | 401 | event.preventDefault(); // выключаем стандартную роль элемента |