2012-06-12 3 views
0

Мне нужно кэшировать элементы CakePHP. Но мои элементы отличаются параметрами. myElement принимает параметр с именем $ type.
Когда $ тип Изменения в содержании моего элемента меняются.Кэширование элементов CakePHP относительно аргумента

Я вызываю свой элемент следующим образом: echo $ this-> element ('myElement', array ('type' => 2), array ('cache' => true));
на другой странице:
echo $ this-> element ('myElement', array ('type' => 3), array ('cache' => true));

Когда я включаю кеширование, увеличивая режим отладки до 2, оба элемента дают мне тот же результат. Можно ли кэшировать разные версии одного элемента?

ответ

1
echo $this->element('myElement', array('type' => 3), array('cache' => array('key' => 'my_element_type_3')); 

'cache' ключ может принимать массив с config и key. Установка key на уникальное имя (добавление типа в имени) должно сделать его уникальным.

Если элементы не имеют много общего, может быть проще иметь разные файлы элементов для каждого. $this->element('myElementType3'); $this->element('myElementType2'); и т.д.

+0

Спасибо @tigrang! – trante

Смежные вопросы