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 | 12 | |
13 | 13 | RewriteBase / |
14 | 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 | 20 | RewriteCond %{REQUEST_URI} ^/(admin) |
18 | 21 | |
... | ... | @@ -61,7 +64,7 @@ AddDefaultCharset utf-8 |
61 | 64 | |
62 | 65 | RewriteCond %{REQUEST_FILENAME} !-d |
63 | 66 | |
64 | - RewriteRule ^.*$ frontend/web/index.php | |
67 | + RewriteRule ^.*$ frontend/web/index.php [L] | |
65 | 68 | |
66 | 69 | </IfModule> |
67 | 70 | ... | ... |
frontend/controllers/GoodsController.php
... | ... | @@ -27,6 +27,7 @@ class GoodsController extends Controller |
27 | 27 | $brand = $arr_name[0]; |
28 | 28 | $article = $arr_name[1]; |
29 | 29 | |
30 | + | |
30 | 31 | $params = Yii::$app->request->getQueryParams(); |
31 | 32 | |
32 | 33 | // получим параметры сортировки из гет запроса |
... | ... | @@ -37,6 +38,15 @@ class GoodsController extends Controller |
37 | 38 | 'brand' => $brand]; |
38 | 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 | 50 | if (empty(Yii::$app->user->identity)) { |
41 | 51 | $margin_id = 1; |
42 | 52 | } else { | ... | ... |
frontend/views/goods/index.php
frontend/views/goods/one_item.php
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 | 90 | \ No newline at end of file | ... | ... |
frontend/web/css/general_styles.css
... | ... | @@ -1324,22 +1324,7 @@ table a{ |
1324 | 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 | 1329 | #modal_form_photo #modal_close { |
1345 | 1330 | width: 21px; |
... | ... | @@ -2751,15 +2736,12 @@ margin-left: 0!important |
2751 | 2736 | } |
2752 | 2737 | |
2753 | 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 | 2741 | background: #fff; |
2759 | - position: fixed; /* чтобы окно было в видимой зоне в любом месте */ | |
2742 | + position: absolute; /* чтобы окно было в видимой зоне в любом месте */ | |
2760 | 2743 | top: 45%; /* отступаем сверху 45%, остальные 5% подвинет скрипт */ |
2761 | - left: 31%; /* половина экрана слева */ | |
2762 | - margin-top: -150px; | |
2744 | + left: 50%; /* половина экрана слева */ | |
2763 | 2745 | /* тут вся магия центровки css, отступаем влево и вверх минус половину ширины и высоты соответственно =) */ |
2764 | 2746 | display: none; /* в обычном состоянии окна не должно быть */ |
2765 | 2747 | opacity: 0; /* полностью прозрачно для анимирования */ | ... | ... |
frontend/web/css/main.css
... | ... | @@ -575,4 +575,54 @@ div.required:after { content: " *"; |
575 | 575 | |
576 | 576 | .arrow_downA{ |
577 | 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 | 629 | \ No newline at end of file | ... | ... |
frontend/web/js/script.js
... | ... | @@ -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 | 400 | $('a#go_project').click( function(event){ // ловим клик по ссылки с id="go" |
373 | 401 | event.preventDefault(); // выключаем стандартную роль элемента | ... | ... |