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 281 }
282 282  
283 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 304 return $groups;
298 305 }
299 306  
... ...
frontend/controllers/CatalogController.php
... ... @@ -125,6 +125,7 @@ class CatalogController extends \yii\web\Controller
125 125 */
126 126 $query = $productProvider->query;
127 127 $query->with([
  128 + 'events',
128 129 'variant',
129 130 'comments',
130 131 'averageRating',
... ...
frontend/views/layouts/main.php
... ... @@ -258,7 +258,9 @@ use common\models\Event;
258 258 <div class="col-md-12">
259 259 <div class="row">
260 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 264 <span class="posts-title">Статьи</span>
263 265 <ul class="posts-links style">
264 266 <?php foreach(Articles::find()->all() as $article):?>
... ...