Код: Выделить всё
PageВ реальной жизни: мои пользователи смогут создавать свои собственные страницы, выбирая из множества. элементов («5 лучших сообщений», «10 непрочитанных сообщений» и т. д.)
Я получаю данные, вызывая $this->requestAction(array(' Controller'=>'events','action'=>'archive') внутри элемента, переменные URL-адреса различаются для каждого элемента.
I я осознаю тот факт, что requestAction() является дорогостоящим, и я планирую ограничить затраты за счет правильного кэширования.
Актуальный вопрос:< /strong>
Моя проблема — разбиение на страницы. Когда я нахожусь в представлении страницы и вызываю requestAction('/events/archive'), PaginatorHelper в представлении страницы будет не знать о модели Event и ее переменных разбивки на страницы, а $this->Paginator->next() и т. д. не будет работать.
Как я могу реализовать правильно Разбивка на страницы? Я пытался установить модель, вызвав $this->Paginator->options(array('model'=>'Event')), но это не сработало.
Может быть, мне нужно вернуть пользовательские переменные нумерации страниц в requestAction и таким образом создать свои собственные?
Или есть другой подход, который, возможно, даже позволяет избежать requestAction ()? И имейте в виду, что запрошенные данные не связаны со Страницей.
С уважением,
Барт
[Изменить] Мое временное решение, но все еще открыто для комментариев/решений:
В событии/архиве RequestAction верните переменные страницы вместе с данными вот так:
Код: Выделить всё
return array('data'=>$this->paginate(), 'paging' => $this->params['paging']);Подробнее здесь: https://stackoverflow.com/questions/187 ... uestaction