Привет!
Например, мы имеем вот такой view.php:
<?php if ($this->beginCache('item', array(
'duration' => Yii::app()->params['cacheDuration'],
'dependency' => array(
'class' => 'system.caching.dependencies.CDbCacheDependency',
'sql' => 'SELECT MAX(update_time) FROM {{items}}'
),
))) { ?>
<?php $this->widget('AMListView', array(
'id' => 'items',
'dataProvider' => $dataProvider,
'pager' => array(
'class' => 'AMLinkPager',
),
)); ?>
<?php $this->endCache(); } ?>
AMLinkPager.php - это переопределенный класс CLinkPager.php. Имеет он примерно вот такую структуру:
public function run() {
$this->owner->owner->renderDynamic(array($this, "dynamic")); // Динамический рендер
}
public function dynamic() {
if ($this->owner && $this->owner->owner) {
$this->owner->owner->param = 'какое-то значение'; // !!!! вот этот параметр не ссетится в базовый контроллер (поведение) $this->owner->owner
print_r($this->owner->owner); // Но в дампе есть значение param!
}
// Какой-то код
return $str;
}
Как правильно присвоить параметр в базовый контроллер (поведение), если мы имеем кешируемый блок. Если очистить кеш, то, логично, все работает лишь один раз. Спасибо!
Или можно пойти каким-нибудь другим путем?