Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Dark Neo
цитировать
Зарегистрирован: 18 Мар 2009 15:57:50 Сообщения: 13
|
Добавлено: 13 Мар 2011 21:47:09 Заголовок сообщения: Кэширование и $paginator |
|
|
Добрый день.
Разбираюсь с кэшированием и столкнулся с непонятной проблемой. Я получаю данные из модели и кэширую их. При повторном обращении проверяю, есть ли данные в кэше и беру оттуда, если есть или получаю снова, если нет.
Код, который это реализует очень прост:
Код: | $posts = Cache::read('IndexPosts');
if ($posts == false) {
$posts = $this->paginate('Post');
Cache::write('IndexPosts', $posts);
} |
Проблема в том, что в отображении на $posts делается разбивка на страницы. Когда данные берутся из кэша система ругается на то, что не может обработать $paginator, выдает ошибку:
Код: | Notice (8): Undefined variable: paginator [APP\views\posts\index.ctp, line 24] |
Как это можно победить? |
|
Вернуться к началу |
|
|
michas
цитировать
Зарегистрирован: 28 Янв 2008 11:28:31 Сообщения: 123
|
Добавлено: 14 Мар 2011 15:27:37 Заголовок сообщения: |
|
|
Если вы не вызываете $this->paginate('Post'); то и хелпер paginator не добавляется к текущему view.
Кэширование надо производить в методе paginate в данном случае. _________________ Все самое интересное в реальном времени - xmpp:cakephp@conference.jabber.ru |
|
Вернуться к началу |
|
|
Dark Neo
цитировать
Зарегистрирован: 18 Мар 2009 15:57:50 Сообщения: 13
|
Добавлено: 14 Мар 2011 15:36:00 Заголовок сообщения: |
|
|
Спасибо, понятно.
Вообще решил отказаться от кэширования в этом месте таким способом. |
|
Вернуться к началу |
|
|
|