Я использовал эту идею для создания пользовательского выбора элементов на странице.
Моя стандартная нумерация страниц:
var $paginate = array( 'order' => array('User.id' => 'asc') );
Я добавил это в свой контроллер, чтобы изменить предел на 25 (также добавил 1 для 5 и 10, просто чтобы посмотреть, как он пойдет, и соответственно изменил предельное значение):
function list25() {
//fetches with different limit than default
$this->paginate = array(
'limit' => 25,
'order' => array(
'User.id' => 'asc'
)
);
$data = $this->paginate('User');
$this->set('users', $data);
}
Затем в главном окне (index.ctp) я добавил это в нижней части списка данных:
<span style="float:right;">
<?php echo " <span style='vertical-align:top;font-size:12px;'>Show:</span>";
echo $html->link(' 5', array('controller'=>'users', 'action' => 'list5'));
echo $html->link(' 10', array('controller'=>'users', 'action' => 'list10'));
echo $html->link(' 25', array('controller'=>'users', 'action' => 'list25'));
?>
</span>
<span style="float:right;margin-right:10px;"><?php echo $paginator->numbers(); ?></span>
... который показывает следующий текст в нижней части дисплея: Показать: 5 10 25
Числа, по нажатию на которые, связаны с действием контроллера и, таким образом, сбрасывают лимит (и обновляет страницу с новым установленным лимитом).
Возможно, есть лучший способ достичь той же функциональности, что и мне, для создания представления для каждой опции: list5.ctp, list10.ctp и list25.ctp. В любом случае, это дает пользователю возможность выбрать, сколько данных они хотят видеть на странице. Комментарии?
.... пользователь noob cakePHP ...