Commit 792c8a8865aa8ec2b694abba1a5417ad091dc431
1 parent
b1a1ffd5
work with goods one-item view
Showing
3 changed files
with
43 additions
and
13 deletions
Show diff stats
frontend/controllers/GoodsController.php
| @@ -23,6 +23,7 @@ class GoodsController extends Controller { | @@ -23,6 +23,7 @@ class GoodsController extends Controller { | ||
| 23 | 23 | ||
| 24 | $provider = new SqlDataProvider([ | 24 | $provider = new SqlDataProvider([ |
| 25 | 'sql' => $query, | 25 | 'sql' => $query, |
| 26 | + 'key' => 'article', | ||
| 26 | 'pagination' => false, | 27 | 'pagination' => false, |
| 27 | 'params' => [':article' => '0092S40090', | 28 | 'params' => [':article' => '0092S40090', |
| 28 | ':brand' => 'BOSCH', | 29 | ':brand' => 'BOSCH', |
frontend/views/goods/index.php
| @@ -118,7 +118,8 @@ $this->params['breadcrumbs'][] = $this->title; | @@ -118,7 +118,8 @@ $this->params['breadcrumbs'][] = $this->title; | ||
| 118 | <p class="currency1 opposite1" id="dollars">грн</p> | 118 | <p class="currency1 opposite1" id="dollars">грн</p> |
| 119 | <p class="currency1 active_button_purple11" id="grivna">$</p> | 119 | <p class="currency1 active_button_purple11" id="grivna">$</p> |
| 120 | <table class="tovar_table" cellspacing="0" cellpadding="0" border="0"> | 120 | <table class="tovar_table" cellspacing="0" cellpadding="0" border="0"> |
| 121 | - <tbody><tr class="name"> | 121 | + <tbody> |
| 122 | + <tr class="name"> | ||
| 122 | <td class="small_width row_name">Фирма</td> | 123 | <td class="small_width row_name">Фирма</td> |
| 123 | <td class="medium_width row_name">Номер детали</td> | 124 | <td class="medium_width row_name">Номер детали</td> |
| 124 | <td class="large_width row_name">Описание</td> | 125 | <td class="large_width row_name">Описание</td> |
| @@ -144,8 +145,7 @@ $this->params['breadcrumbs'][] = $this->title; | @@ -144,8 +145,7 @@ $this->params['breadcrumbs'][] = $this->title; | ||
| 144 | <tbody> | 145 | <tbody> |
| 145 | 146 | ||
| 146 | 147 | ||
| 147 | - <tr class="one" style="border-bottom: 0; | ||
| 148 | - border-top: 0;"> | 148 | + <tr class="one" style="border-bottom: 0;border-top: 0;"> |
| 149 | <td class="row_select" style="border-bottom: 0; | 149 | <td class="row_select" style="border-bottom: 0; |
| 150 | border-top: 0;"> | 150 | border-top: 0;"> |
| 151 | <div class="lend-tovar-cart-left"> | 151 | <div class="lend-tovar-cart-left"> |
frontend/views/goods/one_item.php
| @@ -2,18 +2,47 @@ | @@ -2,18 +2,47 @@ | ||
| 2 | use \yii\helpers\Html; | 2 | use \yii\helpers\Html; |
| 3 | 3 | ||
| 4 | $this->registerCssFile('/css/BC2_catalog_zapchasti.css'); | 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; | ||
| 5 | ?> | 13 | ?> |
| 6 | 14 | ||
| 7 | - <tr> | ||
| 8 | - <td class="small_width"><?= $model['brand']?></td> | ||
| 9 | - <td class="medium_width"><?= $model['article']?> | ||
| 10 | - <img src="/images/favourite_notactive.png" class="favourite"> | ||
| 11 | - <img src="/images/favourite.png" class="pose"> | ||
| 12 | - </td> | ||
| 13 | - <td class="large_width"><?= $model['description']?> | ||
| 14 | - <a href=""><img src="/images/gear.png"></a> | ||
| 15 | - <a href="" id="go_photo"><img src="/images/icon_cam.png"></a> | ||
| 16 | - </td> | 15 | +<?php $this->beginBlock('item_details'); |
| 16 | +// выделим отдельно детали товара в блок, для опционального его вывода | ||
| 17 | +?> | ||
| 18 | +<tr> | ||
| 19 | + <td class="small_width"><?= $model['brand']?></td> | ||
| 20 | + <td 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 class="large_width"><?= $model['description']?> | ||
| 25 | + <a 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 colspan="3"></td> | ||
| 35 | + | ||
| 36 | + <?php $this->endBlock(); ?> | ||
| 37 | + | ||
| 38 | + <?php | ||
| 39 | + if($new_good){ | ||
| 40 | + echo $this->blocks['item_details']; | ||
| 41 | + }else{ | ||
| 42 | + echo $this->blocks['empty_details']; | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + ?> | ||
| 17 | <td class="right"> | 46 | <td class="right"> |
| 18 | <table class="tovar_table right" cellspacing="0" cellpadding="0" border="0" style="border: 0;"> | 47 | <table class="tovar_table right" cellspacing="0" cellpadding="0" border="0" style="border: 0;"> |
| 19 | <tbody> | 48 | <tbody> |