Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Кэширование и $paginator

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
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    Заголовок сообщения: Ответить с цитатой

Спасибо, понятно.

Вообще решил отказаться от кэширования в этом месте таким способом.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru