Как кешировать фрагменты в виджете на Yii2?

в виджете пишу так:
if ($this->beginCache('top-search-block' . '-' . md5(implode('|', $filter['filter'])), ['duration' =>  15 * 60 ])) { 
.....
$this->endCache();
}

получаю ошибку
Unknown Method – yii\base\UnknownMethodException
Calling unknown method: frontend\widgets\Search\SearchWidget::beginCache()
в контроллере и вьюхе нормльно работает, а в виджетах не хочет,хотя в Yii1 такое возможно было, как тут сделать?
  • Вопрос задан
  • 202 просмотра
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Ошибка явно указывает.
Calling unknown method: frontend\widgets\Search\SearchWidget::beginCache()

Перевожу: Вызванный метод beginCache() отсутствует в frontend\widgets\Search\SearchWidget

У Вас в $this экземпляр класса frontend\widgets\Search\SearchWidget
А beginCache() это метод, который видимо должен вызываться тут Yii::$app->cache
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы