Почему не работает кэширование?

Вот кусочек кода, почему в $this->renderDynamic ничего не выводит? в чем ошибка?
<? if ($this->beginCache('product')) { ?>
            <div class="col-md-8">
                <div class="price"><span class="currency">AED</span> <? echo $this->renderDynamic('return $post->price'); ?></div>
                <div class="title">
                    <p class="heading"><? echo $this->renderDynamic('return $post->title'); ?></p>
                    <div class="info">
                      <p class="city">
                        <? echo $this->renderDynamic('return $post->city->city'); ?>
                      </p>
                      <p class="date">
                        <? echo date('j F',$post->up_time);?>
                      </p>
                    </div>
                </div>
                <div class="details">
                    <p class="heading">Quick Overview</p>
                    <hr>
                    <?$this->endCache();}?>
  • Вопрос задан
  • 260 просмотров
Решения вопроса 1
Возможно, что renderDynamic просто не видит переменной $post. Где она определяется?
Попробуйте определять значение $post->title и $post->city->city, через массив $this->params['].

Подробнее эта тема обсуждается здесь https://github.com/yiisoft/yii2/issues/11689
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
??? Должно работать, возможно проблема не тут. Может быть еще где-то все это закешировалось? Может быть в $post->city->city пусто. Включите вывод всех ошибок, проверьте дебаг панель.
Ответ написан
Ваш ответ на вопрос

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

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