Как разбить несколько результатов в CakePHP? - PullRequest
0 голосов
/ 03 августа 2010

Как я могу использовать помощника по разбивке по страницам в cakePHP, чтобы показать более одного набора результатов на одной странице? Они будут пейджинговыми независимо.

EDIT:
Я выяснил одну причину, по которой это не может быть сделано, потому что помощник по разбиению на страницы получит свой URL из контроллера / действия, а затем добавит свои параметры в конце. Если он извлекал URL-адрес из адресной строки, имел свою уникальную переменную, а затем выполнял str_replace, чтобы получить следующий, к которому нужно перейти, если вы уже выполнили переход, или добавьте его, если он не существует. Сейчас я думаю о переписывании помощника по разбиению на страницы для поддержки этой функции, но я не уверен, понадобится ли мне это, или они уже поддерживают это, и я делаю это неправильно

1 Ответ

5 голосов
/ 31 августа 2010

Вот мое решение.В вашем контроллере:

function index(){
    // Your default model
    $this->set('model1', $this->paginate());
    // Pagination for model2
    $this->set('model2', $this->paginate('Model2'));
}

По вашему мнению:

// Display your model1 data, and then for prev and next 
echo $paginator->prev($options = array('model' => 'Model1'));
echo $paginator->next($options = array('model' => 'Model1'));


// Display your model2 data, and then for prev and next 
echo $paginator->prev($options = array('model' => 'Model2'));
echo $paginator->next($options = array('model' => 'Model2'));

Точка ввода названия вашей модели в метод paginate контроллера и в метод связи Paginator (sort, prev, next).

...