Commit 1ac2e1aab8b1eac230123ba4c97c1c3f8488847f

Authored by Alexey Boroda
1 parent ae37da79

-Characteristics kind of ready

common/modules/product/models/BrandSearch.php
... ... @@ -101,13 +101,13 @@ class BrandSearch extends Brand
101 101  
102 102 $query->innerJoin('product_variant', 'product_variant.product_id = '. Product::tableName() .'.product_id');
103 103 $query->where(['!=', 'product_variant.status', 1]);
104   - $query->groupBy(Product::tableName() .'.product_id');
  104 +// $query->groupBy(Product::tableName() .'.product_id');
105 105 if (!empty($category)) {
106 106 $query->andWhere([
107 107 ProductCategory::tableName() .'.category_id' => $category->category_id
108 108 ]);
109 109 }
110   - $query->groupBy(Brand::tableName() .'.brand_id');
  110 +// $query->groupBy(Brand::tableName() .'.brand_id');
111 111  
112 112 return $query;
113 113 }
... ...
frontend/models/ProductFrontendSearch.php
... ... @@ -102,7 +102,7 @@ class ProductFrontendSearch extends Product {
102 102 $query->select(['product.*']);
103 103 $query->joinWith(['enabledVariants','brand','options', 'category']);
104 104  
105   - $query->groupBy(['product.product_id', 'product_variant.price', 'product_variant.stock']);
  105 +// $query->groupBy(['product.product_id', 'product_variant.price', 'product_variant.stock']);
106 106 $query->orderBy(['product_variant.stock' => SORT_DESC]);
107 107 ProductHelper::_setQueryParams($query, $params);
108 108 if($in_stock){
... ...
frontend/views/catalog/product.php
... ... @@ -12,6 +12,7 @@
12 12 use yii\bootstrap\ActiveForm;
13 13 use yii\bootstrap\Html;
14 14 use yii\helpers\Url;
  15 + use yii\helpers\VarDumper;
15 16 use yii\web\View;
16 17 use yii\widgets\MaskedInput;
17 18 use frontend\assets\FlipclockAsset;
... ... @@ -492,14 +493,42 @@
492 493 </tr>
493 494 <tr class="full short">
494 495 <td class="name">Бренд</td>
495   - <td class="value"><?= !empty($product->brand) ? $product->brand->name : '' ?></td>
  496 + <td class="value"><?= !empty($product->brand) ? Html::a($product->brand->name, [
  497 + 'catalog/category',
  498 + 'category' => $category,
  499 + 'filters' => [
  500 + 'brands' => [
  501 + $product->brand->alias
  502 + ]
  503 + ]
  504 + ]) : '' ?></td>
496 505 </tr>
497   - <?php foreach($product->getActiveProperties($category->category_id) as $group): ?>
  506 + <?php foreach($product->getActiveProperties($category->category_id) as $group) {
  507 + ?>
498 508 <tr class="full short gray">
499 509 <td class="name"><?= $group->name ?></td>
500   - <td class="value"><?php foreach($group->_options as $option) : ?>&nbsp;<?= $option->ValueRenderHTML ?><?php endforeach ?></td>
  510 + <td class="value">
  511 + <?php
  512 + foreach($group->_options as $option) {
  513 + if ($group->is_filter) {
  514 + echo Html::a('&nbsp;' . $option->ValueRenderHTML,
  515 + [
  516 + 'catalog/category',
  517 + 'category' => $category,
  518 + 'filters' => [
  519 + $group->alias => [
  520 + $option->alias
  521 + ]
  522 + ]
  523 + ]);
  524 + } else {
  525 + echo '&nbsp;', $option->ValueRenderHTML;
  526 + }
  527 + }
  528 + ?>
  529 + </td>
501 530 </tr>
502   - <?php endforeach; ?>
  531 + <?php } ; ?>
503 532  
504 533 </tbody>
505 534 </table>
... ...