Commit 2c4d173e4cb48a56c2952a8e0c8caf77a515a256

Authored by Karnovsky A
1 parent 3ed4a4cd

Base-product#6 functional

frontend/controllers/CatalogController.php
... ... @@ -120,14 +120,20 @@ class CatalogController extends \yii\web\Controller
120 120  
121 121 // Options
122 122 if (($options = \Yii::$app->request->get('option')) != false) {
123   - $query->innerJoin(ProductOption::tableName(), ProductOption::tableName() .'.product_id='. Product::tableName() .'.product_id');
124   - $query->innerJoin(TaxOption::tableName(), TaxOption::tableName() .'.tax_option_id='. ProductOption::tableName() .'.option_id');
125   - foreach($options as $group_alias => $option_alias) {
  123 +// $query->innerJoin(ProductOption::tableName(), ProductOption::tableName() .'.product_id='. Product::tableName() .'.product_id');
  124 +// $query->innerJoin(TaxOption::tableName(), TaxOption::tableName() .'.tax_option_id='. ProductOption::tableName() .'.option_id');
  125 + foreach($options as $group_alias => $options_alias) {
  126 + if (!is_array($options_alias)) {
  127 + $options_alias = [$options_alias];
  128 + }
  129 + foreach($options_alias as &$option_alias) {
  130 + $option_alias = "'". $option_alias ."'";
  131 + }
126 132 $group = TaxGroup::find()->where(['like', 'alias', $group_alias])->one();
127 133 if (!$group) {
128 134 continue;
129 135 }
130   - $query->andWhere([TaxOption::tableName() .'.tax_group_id' => $group->tax_group_id, TaxOption::tableName() .'.alias' => $option_alias]);
  136 + $query->andWhere(Product::tableName() .'.product_id IN (SELECT product_id FROM product_option INNER JOIN tax_option ON tax_option.tax_option_id = product_option.option_id WHERE tax_option.alias IN ('. implode(',', $options_alias) .'))');
131 137 }
132 138 }
133 139  
... ...
frontend/views/catalog/products.php
... ... @@ -186,6 +186,10 @@ $this->params['breadcrumbs'][] = $category->name;
186 186 <div class="cat_p_catalog_list">
187 187 <div class="title"><?= $category->name?> <span>(<?= $all_count?>)</span></div>
188 188  
  189 + <?php if (empty($products)) :?>
  190 + <h2>По данному запросу товары не найдены.</h2><br>
  191 + <p>Показать <a href="<?= \yii\helpers\Url::to(['catalog/category', 'alias' => $category->alias])?>">все товары из категории "<?= $category->name?>"</a></p>
  192 + <?php else :?>
189 193 <!-- sort menu -->
190 194 <div class="sort_menu">
191 195  
... ... @@ -267,6 +271,8 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $category-&gt;name;
267 271 </div>
268 272 </div>
269 273 </div>
  274 +
  275 + <?php endif?>
270 276 </div>
271 277 </div>
272 278  
... ...
frontend/web/css/concat_all.css
... ... @@ -43,6 +43,11 @@
43 43 display: inline-block;
44 44 float: left;
45 45 }
  46 +.cat_p_filter_bar:before {
  47 + display: block;
  48 + content: '';
  49 + clear: both;
  50 +}
46 51  
47 52 .cat_p_filter_bar .filter_list ul {
48 53 list-style: none;
... ... @@ -190,6 +195,7 @@
190 195 width: 700px;
191 196 padding-right: 10px;
192 197 display: inline-block;
  198 + min-height: 20em;
193 199 }
194 200  
195 201 .cat_p_catalog_list ul {
... ...