LINUX.ORG.RU

Кэширование в yii2

 , ,


0

1

Изначально задача была поочередно выводить 2 блока. Получилось только вот страница полностью кэшируется. Отключить кэширование нельзя. Тут подвернулся вариант с 'varyByExpression'. Но я не могу понять как это довести до конца. В контроллере добавила varyByExpression

public function filters()
	{
		return array(
			array(
				'COutputCache + tagInfo', // applies filter to only actions actionId and actionId2
				'duration'=>60,
				'varyByExpression'=>function(){return $this->getLentainform();},
				'varyByParam'=>array('tag_slug', 'test'),
			),
			array(
				'common.components.filters.lnMaterialViewsFilter + detail',
			),
		);
	}

Так вот теперь метод getLentainform() пустует. Мне тут нужно всю страницу вытаскивать или блок? Как это сделать?

★★

varyBy.. - разный кэш для разных значении. То есть, твой метод getLentainform() должен вернуть разные значения для формирования разных кэшов, какие именно значения - без разницы (http://www.yiiframework.com/doc/guide/1.1/en/caching.fragment).

Впрочем, renderPartial тебе не подходит? http://stackoverflow.com/questions/13949618/correct-value-for-varybyexpressio...

PHPFan
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.