Commit 40e4f3143412db0117c0d5c615d2cf74e02753da

Authored by Mihail
1 parent 9f747752

rewrite js skript for gods view in ajax manner

backend/models/Details.php deleted
1 -<?php  
2 -  
3 -namespace backend\models;  
4 -  
5 -use common\components\CustomVarDamp;  
6 -use Yii;  
7 -use backend\components\base\BaseActiveRecord;  
8 -  
9 -/**  
10 - * This is the model class for table "{{%details}}".  
11 - *  
12 - * @property string $ID  
13 - * @property string $IMPORT_ID  
14 - * @property string $BRAND  
15 - * @property string $ARTICLE  
16 - * @property string $FULL_ARTICLE  
17 - * @property double $PRICE  
18 - * @property string $DESCR  
19 - * @property string $BOX  
20 - * @property string $ADD_BOX  
21 - * @property string $GROUP  
22 - * @property string $timestamp  
23 - *  
24 - *  
25 - */  
26 -class Details extends BaseActiveRecord  
27 -{  
28 - /**  
29 - *обязательные колонки  
30 - */  
31 - const KEY_COLUMN = 'IMPORT_ID~~BRAND~~ARTICLE';  
32 -  
33 - /**  
34 - * int - размер пакета запроса  
35 - */  
36 - const BATCH = 500;  
37 -  
38 - /**  
39 - * @var bool - признак необходимости удалить префикс Артикула перед вставкой  
40 - */  
41 -  
42 - public $delete_price = false;  
43 -  
44 - /**  
45 - * @inheritdoc  
46 - */  
47 - public static function tableName()  
48 - {  
49 - return '{{%details}}';  
50 - }  
51 -  
52 - /**  
53 - * @inheritdoc  
54 - */  
55 - public function rules()  
56 - {  
57 - return [  
58 - [['BRAND', 'ARTICLE', 'PRICE', 'DESCR', 'BOX'], 'required' , 'on' => ['default','form_upload_validation']],  
59 - [['PRICE'], 'number', 'on' => 'default'],  
60 - [['BOX'], 'integer' , 'on' => 'default'],  
61 - [['timestamp'], 'safe' , 'on' => 'default'],  
62 - [['BRAND', 'ARTICLE'], 'string', 'max' => 100 , 'on' => 'default'],  
63 - [['FULL_ARTICLE'], 'string', 'max' => 150 , 'on' => 'default'],  
64 - [['DESCR', 'GROUP'], 'string', 'max' => 200 , 'on' => 'default']  
65 - ];  
66 - }  
67 -  
68 - /**  
69 - * @inheritdoc  
70 - */  
71 - public function attributeLabels()  
72 - {  
73 - return [  
74 - 'ID' => Yii::t('app', 'ID'),  
75 - 'IMPORT_ID' => Yii::t('app', 'Import ID'),  
76 - 'BRAND' => Yii::t('app', 'Brand'),  
77 - 'ARTICLE' => Yii::t('app', 'Article'),  
78 - 'FULL_ARTICLE' => Yii::t('app', 'Full Article'),  
79 - 'PRICE' => Yii::t('app', 'Price'),  
80 - 'DESCR' => Yii::t('app', 'Descr'),  
81 - 'BOX' => Yii::t('app', 'Box'),  
82 - 'ADD_BOX' => Yii::t('app', 'Add Box'),  
83 - 'GROUP' => Yii::t('app', 'Group'),  
84 - 'timestamp' => Yii::t('app', 'Timestamp'),  
85 - ];  
86 - }  
87 -  
88 - /**  
89 - *удаление (если $delete_price установлен)б а затем вставка данных с апдейтом прямымыми запросоми SQL  
90 - * @param $data - массив вставляемых данных, вставка будет прозводится пакетами размером указанным в константе BATCH  
91 - * @param $importer_id - (int) - идентификатор поставщика у которого будет сперва удалены прайсы а потом вставлены из массива $data  
92 - * @throws \yii\db\Exception  
93 - */  
94 - public function manualInsert($data, $importer_id)  
95 - {  
96 - if ($this->delete_price) {  
97 - // запустим пакетное удаление всех прайсов поставщика  
98 - $conditions = "IMPORT_ID = {$importer_id}";  
99 - $this->manualDelete( $conditions );  
100 - }  
101 - $this->manualInsertWithUpdate($data);  
102 -  
103 - }  
104 -  
105 - /**  
106 - * вставка данных с апдейтом прямым запросом SQL  
107 - * @param $data - массив вставляемых данный, вставка будет прозводится пакетами размером указанным в константе BATCH  
108 - * @throws \yii\db\Exception  
109 - */  
110 - private function manualInsertWithUpdate($data)  
111 - {  
112 - $table_name = self::tableName();  
113 - $keys_arr = array_keys($data[0]);  
114 - // найдем те поля которые не являются ключами. Их нужно будет при дубляже апдейтить  
115 - $fields_arr_to_update = array_diff($keys_arr, explode('~~', $this::KEY_COLUMN ));  
116 -  
117 - $query_update = ' on duplicate key update ';  
118 - foreach ($fields_arr_to_update as $field) {  
119 - $query_update .= "[[{$field}]] = values([[{$field}]]),";  
120 - }  
121 - // удалим последнюю запятую  
122 - $query_update = substr($query_update, 0, strlen($query_update) - 1);  
123 -  
124 - // запросы будем выполнять пакетами  
125 - // размер пакета установлен в константе  
126 - // разобъем массив на пакеты и будем их проходить  
127 - $data = array_chunk($data, $this::BATCH);  
128 - foreach ($data as $current_batch_array) {  
129 -  
130 - //воспользуемся пакетной вставкой от фреймворка  
131 - $query_insert = Yii::$app->db->createCommand()->batchInsert($table_name, $keys_arr, $current_batch_array)->sql;  
132 -  
133 - // добавим фрагмент с апдейтом при дубляже  
134 - $query = "{$query_insert} {$query_update}";  
135 - // \common\components\CustomVarDamp::dumpAndDie($query);  
136 - Yii::$app->db->createCommand($query)->execute();  
137 -  
138 - }  
139 - }  
140 -  
141 - public function manualDelete( $conditions, $params = [] )  
142 - {  
143 - do {  
144 - $query = Yii::$app->db->createCommand()->delete( self::tableName(), $conditions, $params )->sql . ' Limit ' . $this::BATCH;  
145 -// try {  
146 - $res = Yii::$app->db->createCommand($query)->execute();  
147 -// } catch (\Exception $e) {  
148 -// throw new \ErrorException('Ошибка удаления товаров '.$e->getMessage());  
149 -// }  
150 - } while ($res);  
151 -  
152 - return true;  
153 - }  
154 -  
155 -}  
frontend/.gitignore
1 /tmp 1 /tmp
2 /runtime/temp 2 /runtime/temp
  3 +
frontend/controllers/GoodsController.php
@@ -98,6 +98,7 @@ class GoodsController extends Controller @@ -98,6 +98,7 @@ class GoodsController extends Controller
98 } 98 }
99 } 99 }
100 if ( empty( $sort_params ) ) { 100 if ( empty( $sort_params ) ) {
  101 + //$price_margin_id = Yii::$app->session->getFlash('price_margin_id',1);
101 // если так и ненашли подходящих параметров, значит сортируем другую таблицу 102 // если так и ненашли подходящих параметров, значит сортируем другую таблицу
102 // а для этой вытащим из кеша или дефолтная сортировка 103 // а для этой вытащим из кеша или дефолтная сортировка
103 if ( Yii::$app->cache->exists( "sort_{$prefix}" ) ) { 104 if ( Yii::$app->cache->exists( "sort_{$prefix}" ) ) {
frontend/views/goods/index_old.php deleted
1 -<?php  
2 -use yii\data\Sort;  
3 -use \yii\helpers\Html;  
4 -  
5 -$sort = new Sort([  
6 - 'attributes' => [  
7 - 'box' => ['label' => 'Наличие'],  
8 - 'delivery' => ['label' => 'Срок'],  
9 - 'price' => ['label' => 'Цена'],  
10 - ],  
11 -]);  
12 -$this->registerCssFile('/css/BC2_catalog_zapchasti.css');  
13 -$this->params['breadcrumbs'][] = $this->title;  
14 -\yii\widgets\Pjax::begin();  
15 -?>  
16 -  
17 -<div class='vin table '>  
18 - <a href="" class='navigation'>Италавто</a>  
19 - <img src="/images/arrow_dots.png">  
20 - <a href="" class='navigation'>Расходные материалы</a>  
21 - <img src="/images/arrow_dots.png">  
22 - <a href="" class='navigation'>Электрооборудование</a>  
23 - <img src="/images/arrow_dots.png">  
24 - <a href="" class='navigation'>Акамуляторы(АКБ)</a>  
25 - <img src="/images/arrow_dots.png">  
26 - <span>Аккумулятор<span class='detail_name'> 0 092 S30 120: BOSCH</span></span>  
27 - <p class="vin_article">Аккумулятор 0 092 S30 120: BOSCH</p>  
28 - <img src="/images/lonh_line.png" class='line'>  
29 -  
30 - <div class="search_span zapchasti">  
31 -  
32 - <img src="/images/car1.png" id="zapchasti_car">  
33 - <p>Укажите свой автомобиль  
34 - и мы предложим вам  
35 - еще Аккумуляторы (АКБ)</p>  
36 - <div class="selectize_item2">  
37 -  
38 -  
39 - <select class="area">  
40 - <option value="" disabled="" selected="">Марка</option>  
41 - <option value="2">Выбери меня!</option>  
42 - <option value="3">Выбери меня!</option>  
43 - <option value="5">Меня!</option>  
44 - <option value="4">Меня</option>  
45 - </select>  
46 -  
47 - </div>  
48 - <button class="purple">Есть еще?</button>  
49 - </div>  
50 - <div class='note'>  
51 - <span id="modal_close_tip"><img src="/images/close_form.png"></span>  
52 - <p>  
53 - У нас есть еще<br>  
54 - 45 Аккумуляторы (АКБ)<br>  
55 - Возможно что-то вам<br>  
56 - подойдет  
57 - </p>  
58 - </div>  
59 -  
60 - <table class='detail'>  
61 - <tr>  
62 - <td>  
63 - <img src="/images/acamulator_big.png">  
64 - <img src="/images/small_plus.png">  
65 - </td>  
66 -  
67 -  
68 - <td>  
69 - <p class='bold_line'>0 092 S30 120: BOSCH</p>  
70 - <p class="thin_line">12V 88Ah 740A</p>  
71 - <p class='bold_line space'>Емкость, А/Ч:<span class='thin_line'> 88</span></p>  
72 - <p class="bold_line">Полярность: Правая (-/+)</p>  
73 - </td>  
74 - </tr>  
75 - <tr class="galery">  
76 - <td><img src="/images/acamulator_small_gallery.png"><img src="/images/acamulator_small_gallery.png"></td>  
77 - </tr>  
78 - </table>  
79 - <img src="/images/arrow_rounded.png" class='arrow_rounded'>  
80 -  
81 -  
82 -  
83 -</div>  
84 -<div class="vin href">  
85 - <p class="button_grey" style="font-size: 14px;  
86 - margin-right: 12px;  
87 -">Скрыть карточку товара</p>  
88 -</div>  
89 -<div class="vin tables">  
90 -  
91 - <div class="first_section">  
92 - <p class="bold_line">12V 88Ah 740A Bosch 0092s30120</p>  
93 - <p class="currency opposite" id="dollars">грн</p>  
94 - <p class="currency active_button_purple1" id="grivna">$</p>  
95 - <table class="tovar_table" cellspacing="0" cellpadding="0" border="0">  
96 - <tbody><tr class="name">  
97 - <td class="small_width row_name">Фирма</td>  
98 - <td class="medium_width row_name">Номер детали</td>  
99 - <td class="large_width row_name">Описание</td>  
100 - <td class="row_select1 row_name"></td>  
101 - <td class="right_large row_name"><?=$sort->link('box')?><img src="/images/icon2.png" class="sort"></td>  
102 - <td class="right_small row_name"><?=$sort->link('delivery')?><img src="/images/icon2.png" class="sort"></td>  
103 - <td class="right_medium row_name"><?=$sort->link('price')?><img src="/images/icon2.png" class="sort"></td>  
104 -  
105 - </tr>  
106 - <?php  
107 - echo \yii\widgets\ListView::widget( [  
108 - 'dataProvider' => $dataProvider,  
109 - 'itemView'=>'one_item',  
110 - 'summary'=>'',  
111 - ] );  
112 - ?>  
113 -  
114 -  
115 - </tbody></table>  
116 -  
117 -  
118 - </div>  
119 -  
120 -</div>  
121 -<div class="slider_block1">  
122 - <div class="tovars">  
123 - <p style="display:inline-block">Наши проекты</p>  
124 - <span><img src="/images/arrow_slider_back.png"></span>  
125 - <span class="number_of">1/</span>  
126 - <span class="general_number">5</span>  
127 - <span><img src="/images/arrow_slider_go.png"></span>  
128 - <div class="slider_tovars">  
129 -  
130 - <table class="block_project">  
131 - <tbody><tr><td>  
132 - <img src="/images/logo-lr-small.png">  
133 - </td></tr>  
134 - <tr><td>  
135 - <a href="">lr.italauto.com.ua</a>  
136 - </td></tr>  
137 - <tr><td>  
138 - <ul>  
139 - <h4>Запчасти на Land Rover<br> и Range Rover</h4>  
140 - <li>Оригинальные запчасти</li>  
141 - <li>Сертифицированый продавец</li>  
142 - <li>Более 300 000 товаров</li>  
143 - </ul>  
144 - </td></tr>  
145 - </tbody></table>  
146 - <table class="block_project">  
147 - <tbody><tr><td>  
148 - <img src="/images/logo-mersedes-small.png">  
149 - </td></tr>  
150 - <tr><td>  
151 - <a href="">lr.italauto.com.ua</a>  
152 - </td></tr>  
153 - <tr><td>  
154 - <ul>  
155 - <h4>Запчасти на<br> Mercedes Benz</h4>  
156 - <li>Оригинальные запчасти</li>  
157 - <li>Сертифицированый продавец</li>  
158 - <li>Более 300 000 товаров</li>  
159 - </ul>  
160 - </td></tr>  
161 - </tbody></table>  
162 - <table class="block_project">  
163 - <tbody><tr><td>  
164 - <img src="/images/logo-fiat-small.png">  
165 - </td></tr>  
166 - <tr><td>  
167 - <a href="">lr.italauto.com.ua</a>  
168 - </td></tr>  
169 - <tr><td>  
170 - <ul>  
171 - <h4>Запчасти на FIAT</h4>  
172 - <li>Оригинальные запчасти</li>  
173 - <li>Сертифицированый продавец</li>  
174 - <li>Более 300 000 товаров</li>  
175 - </ul>  
176 - </td></tr>  
177 - </tbody></table>  
178 - <table class="block_project">  
179 - <tbody><tr><td>  
180 - <img src="/images/logo-lr-small.png">  
181 - </td></tr>  
182 - <tr><td>  
183 - <a href="">lr.italauto.com.ua</a>  
184 - </td></tr>  
185 - <tr><td>  
186 - <ul>  
187 - <h4>Запчасти на Land Rover<br> и Range Rover</h4>  
188 - <li>Оригинальные запчасти</li>  
189 - <li>Сертифицированый продавец</li>  
190 - <li>Более 300 000 товаров</li>  
191 - </ul>  
192 - </td></tr>  
193 - </tbody></table>  
194 -  
195 - </div>  
196 -  
197 - </div>  
198 -</div>  
199 -<?php  
200 -\yii\widgets\Pjax::end();  
201 - ?>  
202 \ No newline at end of file 0 \ No newline at end of file
frontend/views/goods/index_origin.php deleted
1 -<?php  
2 -  
3 -$this->registerCssFile('/css/BC2_catalog_zapchasti.css');  
4 -  
5 -$this->params['breadcrumbs'][] = $this->title;  
6 -?>  
7 -  
8 -<div class='vin table '>  
9 - <a href="" class='navigation'>Италавто</a>  
10 - <img src="/images/arrow_dots.png">  
11 - <a href="" class='navigation'>Расходные материалы</a>  
12 - <img src="/images/arrow_dots.png">  
13 - <a href="" class='navigation'>Электрооборудование</a>  
14 - <img src="/images/arrow_dots.png">  
15 - <a href="" class='navigation'>Акамуляторы(АКБ)</a>  
16 - <img src="/images/arrow_dots.png">  
17 - <span>Аккумулятор<span class='detail_name'> 0 092 S30 120: BOSCH</span></span>  
18 -  
19 - <p class="vin_article">Аккумулятор 0 092 S30 120: BOSCH</p>  
20 - <div class="tovar_card">  
21 - <div class="search_span zapchasti">  
22 -  
23 - <img src="/images/car1.png" id="zapchasti_car">  
24 - <p>Укажите свой автомобиль  
25 - и мы предложим вам  
26 - еще Аккумуляторы (АКБ)</p>  
27 - <div class="selectize_item2">  
28 -  
29 -  
30 - <select class="area">  
31 - <option value="" disabled="" selected="">Марка</option>  
32 - <option value="2">Выбери меня!</option>  
33 - <option value="3">Выбери меня!</option>  
34 - <option value="5">Меня!</option>  
35 - <option value="4">Меня</option>  
36 - </select>  
37 -  
38 - </div>  
39 - <button class="purple">Есть еще?</button>  
40 - </div>  
41 - <div class='note'>  
42 - <span id="modal_close_tip"><img src="/images/close_form.png"></span>  
43 - <p>  
44 - У нас есть еще<br>  
45 - 45 Аккумуляторы (АКБ)<br>  
46 - Возможно что-то вам<br>  
47 - подойдет  
48 - </p>  
49 - </div>  
50 -  
51 - <table class='detail'>  
52 - <tr>  
53 - <td>  
54 - <img src="/images/acamulator_big.png">  
55 - <img src="/images/small_plus.png">  
56 - </td>  
57 -  
58 -  
59 - <td>  
60 - <p class='bold_line'>0 092 S30 120: BOSCH</p>  
61 - <p class="thin_line">12V 88Ah 740A</p>  
62 - <p class='bold_line space'>Емкость, А/Ч:<span class='thin_line'> 88</span></p>  
63 - <p class="bold_line">Полярность: Правая (-/+)</p>  
64 - </td>  
65 - </tr>  
66 - <tr class="galery">  
67 - <td><img src="/images/acamulator_small_gallery.png"><img src="/images/acamulator_small_gallery.png"></td>  
68 - </tr>  
69 - </table>  
70 - <img src="/images/arrow_rounded.png" class='arrow_rounded'>  
71 - </div>  
72 -  
73 -  
74 -</div>  
75 -<div class="vin href">  
76 - <p class="button_grey" id="button_grey_card">Скрыть карточку товара</p>  
77 -</div>  
78 -<div class="vin tables">  
79 -  
80 - <div class="first_section">  
81 - <p class="bold_line">12V 88Ah 740A Bosch 0092s30120</p>  
82 - <p class="currency opposite" id="dollars">грн</p>  
83 - <p class="currency active_button_purple1" id="grivna">$</p>  
84 - <table class="tovar_table" cellspacing="0" cellpadding="0" border="0">  
85 - <tbody><tr class="name">  
86 - <td class="small_width row_name">Фирма</td>  
87 - <td class="medium_width row_name">Номер детали</td>  
88 - <td class="large_width row_name">Описание</td>  
89 - <td class="row_select1 row_name"></td>  
90 - <td class="right_large row_name">Наличие<img src="/images/icon2.png" class="sort"></td>  
91 - <td class="right_small row_name">Срок<img src="/images/icon2.png" class="sort"></td>  
92 - <td class="right_medium row_name">Цена<img src="/images/icon2.png" class="sort"></td>  
93 -  
94 - </tr>  
95 - <tr>  
96 - <td class="small_width">BOSH</td>  
97 - <td class="medium_width">0 092 S30 120  
98 - <img src="/images/favourite_notactive.png" class="favourite">  
99 - <img src="/images/favourite.png" class="pose">  
100 - </td>  
101 - <td class="large_width">12V 88Ah 740A  
102 - <a href=""><img src="/images/gear.png"></a>  
103 - <a href="" id="go_photo"><img src="/images/icon_cam.png"></a>  
104 - </td>  
105 - <td class="right">  
106 - <table class="tovar_table right" cellspacing="0" cellpadding="0" border="0" style="border: 0;">  
107 - <tbody>  
108 - <tr class="one" style="border-bottom: 0;  
109 - border-top: 0;">  
110 - <td class="row_select" style="border-bottom: 0;  
111 - border-top: 0;">  
112 - <div class="lend-tovar-cart-left">  
113 - <input type="text" class="lend-tovar-cart-number" value="1">  
114 - <div class="arrow-cart-lend-wr">  
115 - <img class="arrow-cart-lend-1" src="/images/arrow-cart-up.png" width="9" height="6" alt="">  
116 - <img class="arrow-cart-lend-2" src="/images/arrow-cart-down1.png" width="9" height="6" alt="">  
117 - </div>  
118 - </div>  
119 - <button class="purple">В корзину</button>  
120 - </td>  
121 -  
122 - </tr>  
123 - <tr class="one">  
124 - <td class="row_select" style="border-bottom: 0;  
125 - border-top: 0;">  
126 - <div class="lend-tovar-cart-left">  
127 - <input type="text" class="lend-tovar-cart-number" value="1">  
128 - <div class="arrow-cart-lend-wr">  
129 - <img class="arrow-cart-lend-1" src="/images/arrow-cart-up.png" width="9" height="6" alt="">  
130 - <img class="arrow-cart-lend-2" src="/images/arrow-cart-down1.png" width="9" height="6" alt="">  
131 - </div>  
132 - </div>  
133 - <button class="purple">В корзину</button>  
134 - </td>  
135 -  
136 - </tr>  
137 - <tr class="one" style="border-bottom: 0;">  
138 - <td class="row_select" style="height:48px; border-top: 0;  
139 - border-bottom: 0;">  
140 - <div class="lend-tovar-cart-left">  
141 - <input type="text" class="lend-tovar-cart-number" value="1">  
142 - <div class="arrow-cart-lend-wr">  
143 - <img class="arrow-cart-lend-1" src="/images/arrow-cart-up.png" width="9" height="6" alt="">  
144 - <img class="arrow-cart-lend-2" src="/images/arrow-cart-down1.png" width="9" height="6" alt="">  
145 - </div>  
146 - </div>  
147 - <button class="purple">В корзину</button>  
148 - </td>  
149 - </tr>  
150 - </tbody></table>  
151 -  
152 - </td>  
153 - <td class="right_large">  
154 - <table class="inner" border='0' style='border-top:0; border-left:0'>  
155 - <tr border='0' style='border-top:0; border-left:0'><td border='0' style='border-top:0; border-left:0'>3</td></tr>  
156 - <tr border='0' style='border-top:0; border-left:0'><td border='0' style='border-top:0; border-left:0'>3</td></tr>  
157 - <tr border='0' style='border-top:0; border-left:0'><td border='0' style='border-top:0; border-left:0'>3</td></tr>  
158 - </table>  
159 - </td>  
160 - <td class="right_small"><table class="inner" border='0' style='border-top:0; border-left:0'>  
161 - <tr border='0' style='border-top:0; border-left:0'><td border='0' style='border-top:0; border-left:0'>1 дн.</td></tr>  
162 - <tr border='0' style='border-top:0; border-left:0'><td border='0' style='border-top:0; border-left:0'>1 дн.</td></tr>  
163 - <tr border='0' style='border-top:0; border-left:0'><td border='0' style='border-top:0; border-left:0'>1 дн.</td></tr>  
164 - </table></td>  
165 - <td class="right_medium"><table class="inner" border='0' style='border-top:0; border-left:0'>  
166 - <tr border='0' style='border-top:0; border-left:0'><td border='0' style='border-top:0; border-left:0'>103.75</td></tr>  
167 - <tr border='0' style='border-top:0; border-left:0'><td border='0' style='border-top:0; border-left:0'>103.75</td></tr>  
168 - <tr border='0' style='border-top:0; border-left:0'><td border='0' style='border-top:0; border-left:0'>103.75</td></tr>  
169 - </table></td>  
170 - </tr>  
171 -  
172 - </tbody></table>  
173 -  
174 -  
175 - </div>  
176 - <div class="second_section">  
177 - <p class="bold_line">Замены искомого производителя</p>  
178 - <p class="currency1 opposite1" id="dollars">грн</p>  
179 - <p class="currency1 active_button_purple11" id="grivna">$</p>  
180 - <table class="tovar_table" cellspacing="0" cellpadding="0" border="0">  
181 - <tbody><tr class="name">  
182 - <td class="small_width row_name">Фирма</td>  
183 - <td class="medium_width row_name">Номер детали</td>  
184 - <td class="large_width row_name">Описание</td>  
185 - <td class="row_select1 row_name"></td>  
186 - <td class="right_large row_name">Наличие<img src="/images/icon2.png" class="sort"></td>  
187 - <td class="right_small row_name">Срок<img src="/images/icon2.png" class="sort"></td>  
188 - <td class="right_medium row_name">Цена<img src="/images/icon2.png" class="sort"></td>  
189 -  
190 - </tr>  
191 - <tr>  
192 - <td class="small_width">BOSH</td>  
193 - <td class="medium_width">0 092 S30 120  
194 - <img src="/images/favourite_notactive.png" class="favourite">  
195 - <img src="/images/favourite.png" class="pose">  
196 - </td>  
197 - <td class="large_width">12V 88Ah 740A  
198 - <a href=""><img src="/images/gear.png"></a>  
199 - <a href="" data-container="body" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus."><img src="/images/icon_cam.png"></a>  
200 - </td>  
201 - <td class="right instock">  
202 - <table class="right" cellspacing="0" cellpadding="0" border="0" style="border-bottom: 0;  
203 - border-top: 0;">  
204 - <tbody>  
205 -  
206 -  
207 - <tr class="one" style="border-bottom: 0;  
208 - border-top: 0;">  
209 - <td class="row_select" style="border-bottom: 0;  
210 - border-top: 0;">  
211 - <div class="lend-tovar-cart-left">  
212 - <input type="text" class="lend-tovar-cart-number" value="1">  
213 - <div class="arrow-cart-lend-wr">  
214 - <img class="arrow-cart-lend-1" src="/images/arrow-cart-up.png" width="9" height="6" alt="">  
215 - <img class="arrow-cart-lend-2" src="/images/arrow-cart-down1.png" width="9" height="6" alt="">  
216 - </div>  
217 - </div>  
218 - <button class="purple">В корзину</button>  
219 - </td>  
220 - </tr>  
221 - </tbody></table>  
222 -  
223 - </td>  
224 - <td class="right_large instock">3</td>  
225 - <td class="right_small instock">1 дн.</td>  
226 - <td class="right_medium instock">103.75</td>  
227 - </tr>  
228 - <tr>  
229 - <td class="small_width">BOSH</td>  
230 - <td class="medium_width">0 092 S30 120  
231 - <img src="/images/favourite_notactive.png" class="favourite">  
232 - <img src="/images/favourite.png" class="pose">  
233 - </td>  
234 - <td class="large_width">12V 88Ah 740A  
235 - <a href=""><img src="/images/gear.png"></a>  
236 - <a href="" id="go_photo" data-image="/images/acamulator_big.png"><img src="/images/icon_cam.png"></a>  
237 - </td>  
238 - <td class="right " style="border-bottom: 0;  
239 - border-top: 0;">  
240 - <table class="right" cellspacing="0" cellpadding="0" border="0" style="border-bottom: 0;  
241 - border-top: 0;">  
242 - <tbody>  
243 -  
244 - <tr class="one" style="border-bottom: 0;  
245 - border-top: 0;">  
246 - <td class="row_select" style="border-top: 0;">  
247 - <div class="lend-tovar-cart-left">  
248 - <input type="text" class="lend-tovar-cart-number" value="1">  
249 - <div class="arrow-cart-lend-wr">  
250 - <img class="arrow-cart-lend-1" src="/images/arrow-cart-up.png" width="9" height="6" alt="">  
251 - <img class="arrow-cart-lend-2" src="/images/arrow-cart-down1.png" width="9" height="6" alt="">  
252 - </div>  
253 - </div>  
254 - <button class="purple">В корзину</button>  
255 - </td>  
256 -  
257 - </tr>  
258 - <tr class="one" style="border-bottom: 0;  
259 - border-top: 0;">  
260 - <td class="row_select" style="border-bottom: 0;  
261 - border-top: 0;">  
262 - <div class="lend-tovar-cart-left">  
263 - <input type="text" class="lend-tovar-cart-number" value="1">  
264 - <div class="arrow-cart-lend-wr">  
265 - <img class="arrow-cart-lend-1" src="/images/arrow-cart-up.png" width="9" height="6" alt="">  
266 - <img class="arrow-cart-lend-2" src="/images/arrow-cart-down1.png" width="9" height="6" alt="">  
267 - </div>  
268 - </div>  
269 - <button class="purple">В корзину</button>  
270 - </td>  
271 - </tr>  
272 - </tbody></table>  
273 -  
274 - </td>  
275 - <td class="right_large">  
276 - <table class="inner_table" cellspacing="0" cellpadding="0" border="0" style="border-bottom: 0;  
277 - border-top: 0;">  
278 - <tbody>  
279 - <tr>  
280 - <td>3</td>  
281 - </tr>  
282 - <tr>  
283 - <td>3</td>  
284 - </tr>  
285 - </tbody>  
286 - </table>  
287 -  
288 - </td>  
289 - <td class="right_small">  
290 - <table class="inner_table" cellspacing="0" cellpadding="0" border="0" style="border-bottom: 0;  
291 - border-top: 0;">  
292 - <tbody>  
293 - <tr>  
294 - <td>1 дн.</td>  
295 - </tr>  
296 - <tr>  
297 - <td>1 дн.</td>  
298 - </tr>  
299 - </tbody>  
300 - </table>  
301 - </td>  
302 - <td class="right_medium">  
303 - <table class="inner_table" cellspacing="0" cellpadding="0" border="0" style="border-bottom: 0;  
304 - border-top: 0;">  
305 - <tbody>  
306 - <tr>  
307 - <td>103.75</td>  
308 - </tr>  
309 - <tr>  
310 - <td>103.75</td>  
311 - </tr>  
312 - </tbody>  
313 - </table>  
314 - </td>  
315 - </tr>  
316 - <tr>  
317 - <td class="small_width">BOSH</td>  
318 - <td class="medium_width">0 092 S30 120  
319 - <img src="/images/favourite_notactive.png" class="favourite">  
320 - <img src="/images/favourite.png" class="pose">  
321 - </td>  
322 - <td class="large_width">12V 88Ah 740A  
323 - <a href=""><img src="/images/gear.png"></a>  
324 - <a href="" id="go_photo" data-image="/images/acamulator_big.png"><img src="/images/icon_cam.png"></a>  
325 - </td>  
326 - <td class="right" style="border-bottom: 0;  
327 - border-top: 0;">  
328 - <table class="right" cellspacing="0" cellpadding="0" border="0" style="border-bottom: 0;  
329 - border-top: 0;">  
330 - <tbody>  
331 -  
332 -  
333 - <tr class="one" style="border-bottom: 0;  
334 - border-top: 0;">  
335 - <td class="row_select" style="border-bottom: 0;  
336 - border-top: 0;">  
337 - <div class="lend-tovar-cart-left">  
338 - <input type="text" class="lend-tovar-cart-number" value="1">  
339 - <div class="arrow-cart-lend-wr">  
340 - <img class="arrow-cart-lend-1" src="/images/arrow-cart-up.png" width="9" height="6" alt="">  
341 - <img class="arrow-cart-lend-2" src="/images/arrow-cart-down1.png" width="9" height="6" alt="">  
342 - </div>  
343 - </div>  
344 - <button class="purple">В корзину</button>  
345 - </td>  
346 - </tr>  
347 - </tbody></table>  
348 -  
349 - </td>  
350 - <td class="right_large">3</td>  
351 - <td class="right_small">1 дн.</td>  
352 - <td class="right_medium">103.75</td>  
353 - </tr>  
354 - <tr>  
355 - <td class="small_width">BOSH</td>  
356 - <td class="medium_width">0 092 S30 120  
357 - <img src="/images/favourite_notactive.png" class="favourite">  
358 - <img src="/images/favourite.png" class="pose">  
359 - </td>  
360 - <td class="large_width">12V 88Ah 740A  
361 - <a href=""><img src="/images/gear.png"></a>  
362 - <a href="" id="go_photo" data-image="/images/acamulator_big.png"><img src="/images/icon_cam.png"></a>  
363 - </td>  
364 - <td class="right" style="border-bottom: 0;  
365 - border-top: 0;">  
366 - <table class="right" cellspacing="0" cellpadding="0" border="0" style="border-bottom: 0;  
367 - border-top: 0;">  
368 - <tbody>  
369 -  
370 -  
371 - <tr class="one" style="border-bottom: 0;  
372 - border-top: 0;">  
373 -  
374 - <td class="row_select" style="border-bottom: 0;  
375 - border-top: 0;">  
376 - <div class="lend-tovar-cart-left">  
377 - <input type="text" class="lend-tovar-cart-number" value="1">  
378 - <div class="arrow-cart-lend-wr">  
379 - <img class="arrow-cart-lend-1" src="/images/arrow-cart-up.png" width="9" height="6" alt="">  
380 - <img class="arrow-cart-lend-2" src="/images/arrow-cart-down1.png" width="9" height="6" alt="">  
381 - </div>  
382 - </div>  
383 - <button class="purple">В корзину</button>  
384 - </td>  
385 - </tr>  
386 - </tbody></table>  
387 -  
388 - </td>  
389 - <td class="right_large">3</td>  
390 - <td class="right_small">1 дн.</td>  
391 - <td class="right_medium">103.75</td>  
392 - </tr>  
393 - <tr>  
394 - <td class="small_width">BOSH</td>  
395 - <td class="medium_width">0 092 S30 120  
396 - <img src="/images/favourite_notactive.png" class="favourite">  
397 - <img src="/images/favourite.png" class="pose">  
398 - </td>  
399 - <td class="large_width">12V 88Ah 740A  
400 - <a href=""><img src="/images/gear.png"></a>  
401 - <a href="" id="go_photo" data-image="/images/acamulator_big.png"><img src="/images/icon_cam.png"></a>  
402 - </td><td class="right" style="border-bottom: 0;  
403 - border-top: 0;">  
404 - <table class="right" cellspacing="0" cellpadding="0" border="0" style="border-bottom: 0;  
405 - border-top: 0;">  
406 - <tbody>  
407 -  
408 - <tr class="one" style="border-bottom: 0;  
409 - border-top: 0;">  
410 - <td class="row_select" style="border-top: 0;">  
411 - <div class="lend-tovar-cart-left">  
412 - <input type="text" class="lend-tovar-cart-number" value="1">  
413 - <div class="arrow-cart-lend-wr">  
414 - <img class="arrow-cart-lend-1" src="/images/arrow-cart-up.png" width="9" height="6" alt="">  
415 - <img class="arrow-cart-lend-2" src="/images/arrow-cart-down1.png" width="9" height="6" alt="">  
416 - </div>  
417 - </div>  
418 - <button class="purple">В корзину</button>  
419 - </td>  
420 -  
421 - </tr>  
422 - <tr class="one" style="border-bottom: 0;  
423 - border-top: 0;">  
424 - <td class="row_select" style="border-bottom: 0;  
425 - border-top: 0;">  
426 - <div class="lend-tovar-cart-left">  
427 - <input type="text" class="lend-tovar-cart-number" value="1">  
428 - <div class="arrow-cart-lend-wr">  
429 - <img class="arrow-cart-lend-1" src="/images/arrow-cart-up.png" width="9" height="6" alt="">  
430 - <img class="arrow-cart-lend-2" src="/images/arrow-cart-down1.png" width="9" height="6" alt="">  
431 - </div>  
432 - </div>  
433 - <button class="purple">В корзину</button>  
434 - </td>  
435 - </tr>  
436 - </tbody></table>  
437 -  
438 - </td>  
439 - <td class="right_large">  
440 - <table class="inner_table" cellspacing="0" cellpadding="0" border="0" style="border-bottom: 0;  
441 - border-top: 0;">  
442 - <tbody>  
443 - <tr>  
444 - <td>3</td>  
445 - </tr>  
446 - <tr>  
447 - <td>3</td>  
448 - </tr>  
449 - </tbody>  
450 - </table>  
451 -  
452 - </td>  
453 - <td class="right_small">  
454 - <table class="inner_table" cellspacing="0" cellpadding="0" border="0" style="border-bottom: 0;  
455 - border-top: 0;">  
456 - <tbody>  
457 - <tr>  
458 - <td>1 дн.</td>  
459 - </tr>  
460 - <tr>  
461 - <td>1 дн.</td>  
462 - </tr>  
463 - </tbody>  
464 - </table>  
465 - </td>  
466 - <td class="right_medium">  
467 - <table class="inner_table" cellspacing="0" cellpadding="0" border="0" style="border-bottom: 0;  
468 - border-top: 0;">  
469 - <tbody>  
470 - <tr>  
471 - <td>103.75</td>  
472 - </tr>  
473 - <tr>  
474 - <td>103.75</td>  
475 - </tr>  
476 - </tbody>  
477 - </table>  
478 - </td>  
479 - </tr>  
480 -  
481 - </tbody></table>  
482 - <div class="yellow_stock">  
483 - <img src="/images/yellow_squere.jpg"><p>В наличии на центральном складе ItalAuto, в Киеве</p>  
484 - </div>  
485 - </div>  
486 -</div>  
487 -  
488 -</div>  
489 -<script type="text/javascript">  
490 - function changeText() {  
491 - e = document.getElementById('button_grey_card');  
492 - e.innerHTML = e.innerHTML == "Скрыть карточку товара" ? "Открыть карточку товара" : "Скрыть карточку товара";  
493 - }  
494 - $('#button_grey_card').click(function(){  
495 - changeText();  
496 - $(this).toggleClass('change_b');  
497 - $('.tovar_card').toggleClass('tovar_card_visible');  
498 - $('.table').toggleClass('table_height');  
499 - });  
500 -</script>  
501 \ No newline at end of file 0 \ No newline at end of file
frontend/views/goods/test.php deleted
1 -<?php  
2 -  
3 -use yii\helpers\Html;  
4 -use yii\grid\GridView;  
5 -  
6 -/* @var $this yii\web\View */  
7 -/* @var $searchModel common\models\BrandsReplaceSearch */  
8 -/* @var $dataProvider yii\data\ActiveDataProvider */  
9 -  
10 -$this->title = 'Test';  
11 -$this->params['breadcrumbs'][] = $this->title;  
12 -?>  
13 -<div class="brands-replace-index">  
14 -  
15 - <h1><?= Html::encode($this->title) ?></h1>  
16 -  
17 - <?= GridView::widget([  
18 - 'dataProvider' => $dataProvider,  
19 - ]); ?>  
20 -  
21 -</div>  
frontend/web/js/goods.js
1 -$( document ).ready(function() { 1 +$(document).ready(function () {
2 // для таблицы кроссов, классы обозначаются через cross_ 2 // для таблицы кроссов, классы обозначаются через cross_
3 var cross_prefix = ''; 3 var cross_prefix = '';
4 4
5 // по умолчанию - цены в долларах, остальные скрываем 5 // по умолчанию - цены в долларах, остальные скрываем
6 var show_currency = ['usd']; 6 var show_currency = ['usd'];
7 - var hidden_currency = ['uah','eur']; 7 + var hidden_currency = ['uah', 'eur'];
8 8
9 - $( document ).on( "click", ".currency", changeCurrency ); 9 + $(document).on("click", ".currency", changeCurrency);
10 10
11 - function changeCurrency(){ 11 + function changeCurrency() {
12 12
13 - if( $(this).attr('id') === 'grivna' ){ 13 + if ($(this).attr('id') === 'grivna') {
14 show_currency = ['uah']; 14 show_currency = ['uah'];
15 - hidden_currency = ['eur','usd'];  
16 - }else if( $(this).attr('id') === 'euro' ) { 15 + hidden_currency = ['eur', 'usd'];
  16 + } else if ($(this).attr('id') === 'euro') {
17 show_currency = ['eur']; 17 show_currency = ['eur'];
18 - hidden_currency = ['uah','usd'];  
19 - }else if( $(this).attr('id') === 'dollars' ) { 18 + hidden_currency = ['uah', 'usd'];
  19 + } else if ($(this).attr('id') === 'dollars') {
20 show_currency = ['usd']; 20 show_currency = ['usd'];
21 - hidden_currency = ['uah','eur']; 21 + hidden_currency = ['uah', 'eur'];
22 } 22 }
23 $('.currency').removeClass('active_button_purple1'); 23 $('.currency').removeClass('active_button_purple1');
24 $(this).addClass('active_button_purple1'); 24 $(this).addClass('active_button_purple1');
@@ -26,65 +26,60 @@ $( document ).ready(function() { @@ -26,65 +26,60 @@ $( document ).ready(function() {
26 setVisiblePrice(); 26 setVisiblePrice();
27 } 27 }
28 28
29 - function setVisiblePrice(){ 29 + function setVisiblePrice() {
30 // элементы с классами из show_currency отобразим 30 // элементы с классами из show_currency отобразим
31 - for( var i = 0; i < show_currency.length; i++ ){ 31 + for (var i = 0; i < show_currency.length; i++) {
32 var arr_elements = document.getElementsByClassName(show_currency[i] + cross_prefix); 32 var arr_elements = document.getElementsByClassName(show_currency[i] + cross_prefix);
33 33
34 - for(var j = 0; j < arr_elements.length; j++ ){  
35 - if( arr_elements[j].classList.contains('hidden') ) 34 + for (var j = 0; j < arr_elements.length; j++) {
  35 + if (arr_elements[j].classList.contains('hidden'))
36 arr_elements[j].classList.remove('hidden'); 36 arr_elements[j].classList.remove('hidden');
37 } 37 }
38 } 38 }
39 -  
40 // элементы с классами из hidden_currency спрячем 39 // элементы с классами из hidden_currency спрячем
41 - for( var i = 0; i < hidden_currency.length; i++ ){ 40 + for (var i = 0; i < hidden_currency.length; i++) {
42 var arr_elements = document.getElementsByClassName(hidden_currency[i] + cross_prefix); 41 var arr_elements = document.getElementsByClassName(hidden_currency[i] + cross_prefix);
43 - for(var j = 0; j < arr_elements.length; j++ ){  
44 - if( !arr_elements[j].classList.contains('hidden') ) 42 + for (var j = 0; j < arr_elements.length; j++) {
  43 + if (!arr_elements[j].classList.contains('hidden'))
45 arr_elements[j].classList.add('hidden'); 44 arr_elements[j].classList.add('hidden');
46 } 45 }
47 } 46 }
48 } 47 }
49 48
50 -  
51 //модальное окно для фото 49 //модальное окно для фото
52 - $('a#go_photo').click( function(event){ // ловим клик по ссылки с id="go" 50 + // ловим клик по ссылки с id="go"
  51 + $(document).on("click", 'a#go_photo', function (event) {
53 event.preventDefault(); // выключаем стандартную роль элемента 52 event.preventDefault(); // выключаем стандартную роль элемента
54 var scrollTop = window.pageYOffset ? window.pageYOffset : (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); 53 var scrollTop = window.pageYOffset ? window.pageYOffset : (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
55 viewportHeight = $(window).height(); 54 viewportHeight = $(window).height();
56 - var modalWidth=$('#modal_form_photo').width()/2;  
57 - var modalHeight=$('#modal_form_photo').outerHeight()/2; 55 + var modalWidth = $('#modal_form_photo').width() / 2;
  56 + var modalHeight = $('#modal_form_photo').outerHeight() / 2;
58 $('#overlay').fadeIn(400, // сначала плавно показываем темную подложку 57 $('#overlay').fadeIn(400, // сначала плавно показываем темную подложку
59 - function(){ // после выполнения предъидущей анимации 58 + function () { // после выполнения предъидущей анимации
60 $('#modal_form_photo') 59 $('#modal_form_photo')
61 - .css({'display':'block',opacity: 1, marginTop: -modalHeight, marginLeft: -modalWidth}) // убираем у модального окна display: none;  
62 - .animate({opacity: 1, top: scrollTop+(viewportHeight/2)}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз  
63 -  
64 - 60 + .css({'display': 'block', opacity: 1, marginTop: -modalHeight, marginLeft: -modalWidth}) // убираем у модального окна display: none;
  61 + .animate({opacity: 1, top: scrollTop + (viewportHeight / 2)}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз
65 }); 62 });
66 63
67 }); 64 });
68 /* Закрытие модального окна, тут делаем то же самое но в обратном порядке */ 65 /* Закрытие модального окна, тут делаем то же самое но в обратном порядке */
69 - $('#modal_close, #overlay').click( function(){ // ловим клик по крестику или подложке 66 + $(document).on( "click",'#modal_close, #overlay', function () { // ловим клик по крестику или подложке
70 $('#modal_form_photo') 67 $('#modal_form_photo')
71 .animate({opacity: 0, top: '45%'}, 200, // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх 68 .animate({opacity: 0, top: '45%'}, 200, // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх
72 - function(){ // после анимации 69 + function () { // после анимации
73 $(this).css('display', 'none'); // делаем ему display: none; 70 $(this).css('display', 'none'); // делаем ему display: none;
74 $('#overlay').fadeOut(400); // скрываем подложку 71 $('#overlay').fadeOut(400); // скрываем подложку
75 } 72 }
76 ); 73 );
77 }); 74 });
78 -  
79 - 75 +
80 //открытие-закрытие карточки товара и смена текста на бирке карточки товара 76 //открытие-закрытие карточки товара и смена текста на бирке карточки товара
81 function changeText() { 77 function changeText() {
82 - console.log('odfks');  
83 e = document.getElementById('button_grey_card'); 78 e = document.getElementById('button_grey_card');
84 - console.log( e.innerHTML );  
85 e.innerHTML = e.innerHTML == "Скрыть карточку товара" ? "Открыть карточку товара" : "Скрыть карточку товара"; 79 e.innerHTML = e.innerHTML == "Скрыть карточку товара" ? "Открыть карточку товара" : "Скрыть карточку товара";
86 } 80 }
87 - $('#button_grey_card').click(function(){ 81 +
  82 + $(document).on( "click",'#button_grey_card' , function () {
88 changeText(); 83 changeText();
89 $(this).toggleClass('change_b'); 84 $(this).toggleClass('change_b');
90 $('.tovar_card').toggleClass('tovar_card_visible'); 85 $('.tovar_card').toggleClass('tovar_card_visible');
@@ -92,7 +87,7 @@ $( document ).ready(function() { @@ -92,7 +87,7 @@ $( document ).ready(function() {
92 }); 87 });
93 88
94 //стрелочки вниз 89 //стрелочки вниз
95 - $('.link_sort').click(function(){ 90 + $(document).on( "click",'.link_sort', function () {
96 91
97 $(this).find('.desc').toggleClass('arrow_downA'); 92 $(this).find('.desc').toggleClass('arrow_downA');
98 93