Commit 3523d4884138e33bfb8170288981ff94889f7aef

Authored by Administrator
1 parent 8bef359d

big commti

common/modules/product/models/Product.php
@@ -281,19 +281,26 @@ class Product extends \yii\db\ActiveRecord @@ -281,19 +281,26 @@ class Product extends \yii\db\ActiveRecord
281 } 281 }
282 282
283 public function getActiveProperties($category_id) { 283 public function getActiveProperties($category_id) {
284 - $groups = $options = [];  
285 - foreach ($this->options as $option) {  
286 - $options[$option->tax_group_id][] = $option;  
287 - } 284 + $cacheKey = ['ActiveProperties','id' => $category_id];
288 285
289 - $taxGroups = TaxGroup::find()->joinWith('categories')->where(['tax_group.tax_group_id' => array_keys($options), 'tax_group.display' => TRUE, 'category.category_id' => $category_id])->all(); 286 + if(!$groups = Yii::$app->cache->get($cacheKey)){
290 287
291 - foreach ($taxGroups as $group) {  
292 - if (!empty($options[$group->tax_group_id])) {  
293 - $group->_options = $options[$group->tax_group_id];  
294 - $groups[] = $group; 288 + $groups = $options = [];
  289 + foreach ($this->options as $option) {
  290 + $options[$option->tax_group_id][] = $option;
  291 + }
  292 +
  293 + $taxGroups = TaxGroup::find()->joinWith('categories')->where(['tax_group.tax_group_id' => array_keys($options), 'tax_group.display' => TRUE, 'category.category_id' => $category_id])->all();
  294 +
  295 + foreach ($taxGroups as $group) {
  296 + if (!empty($options[$group->tax_group_id])) {
  297 + $group->_options = $options[$group->tax_group_id];
  298 + $groups[] = $group;
  299 + }
295 } 300 }
  301 + Yii::$app->cache->set($cacheKey,$groups);
296 } 302 }
  303 +
297 return $groups; 304 return $groups;
298 } 305 }
299 306
frontend/controllers/CatalogController.php
@@ -125,6 +125,7 @@ class CatalogController extends \yii\web\Controller @@ -125,6 +125,7 @@ class CatalogController extends \yii\web\Controller
125 */ 125 */
126 $query = $productProvider->query; 126 $query = $productProvider->query;
127 $query->with([ 127 $query->with([
  128 + 'events',
128 'variant', 129 'variant',
129 'comments', 130 'comments',
130 'averageRating', 131 'averageRating',
frontend/views/layouts/main.php
@@ -258,7 +258,9 @@ use common\models\Event; @@ -258,7 +258,9 @@ use common\models\Event;
258 <div class="col-md-12"> 258 <div class="col-md-12">
259 <div class="row"> 259 <div class="row">
260 <div class="col-md-4"> 260 <div class="col-md-4">
261 - <?php if($this->beginCache('articles_show',3600*24) ){?> 261 + <?php if($this->beginCache('articles_show',[
  262 + 'duration' => 3600*24
  263 + ]) ){?>
262 <span class="posts-title">Статьи</span> 264 <span class="posts-title">Статьи</span>
263 <ul class="posts-links style"> 265 <ul class="posts-links style">
264 <?php foreach(Articles::find()->all() as $article):?> 266 <?php foreach(Articles::find()->all() as $article):?>