Пагинация в requestActionPhp

Кемеровские программисты php общаются здесь
Anonymous
Пагинация в requestAction

Сообщение Anonymous »

Я создаю динамическое представление (), который состоит из нескольких элементов (виджетов), вызываемых через $this->element('messages_unread'). Некоторым из этих элементов нужны данные, которые не связаны с моделью страницы.

В реальной жизни: мои пользователи смогут создавать свои собственные страницы, выбирая из множества. элементов («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

Вернуться в «Php»