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 1 /tmp
2 2 /runtime/temp
  3 +
... ...
frontend/controllers/GoodsController.php
... ... @@ -98,6 +98,7 @@ class GoodsController extends Controller
98 98 }
99 99 }
100 100 if ( empty( $sort_params ) ) {
  101 + //$price_margin_id = Yii::$app->session->getFlash('price_margin_id',1);
101 102 // если так и ненашли подходящих параметров, значит сортируем другую таблицу
102 103 // а для этой вытащим из кеша или дефолтная сортировка
103 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 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 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 2 // для таблицы кроссов, классы обозначаются через cross_
3 3 var cross_prefix = '';
4 4  
5 5 // по умолчанию - цены в долларах, остальные скрываем
6 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 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 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 20 show_currency = ['usd'];
21   - hidden_currency = ['uah','eur'];
  21 + hidden_currency = ['uah', 'eur'];
22 22 }
23 23 $('.currency').removeClass('active_button_purple1');
24 24 $(this).addClass('active_button_purple1');
... ... @@ -26,65 +26,60 @@ $( document ).ready(function() {
26 26 setVisiblePrice();
27 27 }
28 28  
29   - function setVisiblePrice(){
  29 + function setVisiblePrice() {
30 30 // элементы с классами из show_currency отобразим
31   - for( var i = 0; i < show_currency.length; i++ ){
  31 + for (var i = 0; i < show_currency.length; i++) {
32 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 36 arr_elements[j].classList.remove('hidden');
37 37 }
38 38 }
39   -
40 39 // элементы с классами из hidden_currency спрячем
41   - for( var i = 0; i < hidden_currency.length; i++ ){
  40 + for (var i = 0; i < hidden_currency.length; i++) {
42 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 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 52 event.preventDefault(); // выключаем стандартную роль элемента
54 53 var scrollTop = window.pageYOffset ? window.pageYOffset : (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
55 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 57 $('#overlay').fadeIn(400, // сначала плавно показываем темную подложку
59   - function(){ // после выполнения предъидущей анимации
  58 + function () { // после выполнения предъидущей анимации
60 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 67 $('#modal_form_photo')
71 68 .animate({opacity: 0, top: '45%'}, 200, // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх
72   - function(){ // после анимации
  69 + function () { // после анимации
73 70 $(this).css('display', 'none'); // делаем ему display: none;
74 71 $('#overlay').fadeOut(400); // скрываем подложку
75 72 }
76 73 );
77 74 });
78   -
79   -
  75 +
80 76 //открытие-закрытие карточки товара и смена текста на бирке карточки товара
81 77 function changeText() {
82   - console.log('odfks');
83 78 e = document.getElementById('button_grey_card');
84   - console.log( e.innerHTML );
85 79 e.innerHTML = e.innerHTML == "Скрыть карточку товара" ? "Открыть карточку товара" : "Скрыть карточку товара";
86 80 }
87   - $('#button_grey_card').click(function(){
  81 +
  82 + $(document).on( "click",'#button_grey_card' , function () {
88 83 changeText();
89 84 $(this).toggleClass('change_b');
90 85 $('.tovar_card').toggleClass('tovar_card_visible');
... ... @@ -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 92 $(this).find('.desc').toggleClass('arrow_downA');
98 93  
... ...