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(); // выключаем стандартную роль элемента | ... | ... |