Commit 197460598e89cfcac46ecee01b6f52800ae83d31

Authored by Mihail
2 parents 8f02e664 8477bae2

merge with server

.htaccess 100755 → 100644
@@ -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-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title; @@ -21,6 +21,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;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;
frontend/views/goods/one_item1.php 0 → 100644
  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: &quot; *&quot;; @@ -575,4 +575,54 @@ div.required:after { content: &quot; *&quot;;
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 @@ $(&#39;.phone_control, .phone_placeholder&#39;).click( @@ -344,30 +344,58 @@ $(&#39;.phone_control, .phone_placeholder&#39;).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(); // выключаем стандартную роль элемента