2017-02-21 15 views
0

У меня есть действие в контроллере, где я использую поиск cakedc с многократным использованием разбивки на страницы в одном и том же действии. в первом пагинацией я хочу использовать предел и MAXLIMIT 50 и во втором я хочу использовать предел и MAXLIMIT 1000. Вот пример кода Im с помощью:Cakephp и множественное использование paginate в действии

$this->Paginator->settings['limit'] = 50; 
$this->Paginator->settings['maxlimit'] = 50; 
$this->set('uuser', $this->paginate()); 
$this->Paginator->settings['limit'] = 1000; 
$this->Paginator->settings['maxlimit'] = 1000; 
$this->set('maxusers',$this->paginate()); 

по моему например, индекс, я использую только uuser, но проблема в том, что он принимает предел и максимальный предел 1000, а не 50. Есть ли способ использовать для переменной uuser лимит и максимальную разбивку на 50 и максимальные значения предела и maxlimit pagination 1000.поскольку maxusers хранится в переменной сеанса, и я не использую его на странице index.ctp.

Благодаря

+1

что ваш вопрос? – FeedTheWeb

ответ

0

Вот пример пагинации Вы добавить свою собственную пагинацию как этого

<div class="paging" style=" background: none repeat scroll 0 0 #60C8F2; 
    float: right; 
    padding: 0 10px; 
    text-align: left; 
    width: auto;"> 
<?php 
$this->Paginator->options(array(
    'url' => array_merge(array(
     'controller' => $this->params['controller'], 
     'action' => $this->params['action'], 
    ) , $this->params['pass'], $this->params['named']) 
)); 

echo $this->Paginator->prev('' . '' , array(
    'class' => 'prev', 
    'escape' => false 
) , null, array(
    'tag' => 'span', 
    'escape' => false, 
    'class' => 'prev' 
)), "\n"; 
echo $this->Paginator->numbers(array(
    'modulus' => 2, 
    'skip' => '', 
    'separator' => " \n", 
    'before' => null, 
    'after' => null, 
    'escape' => false 
)); 
echo $this->Paginator->next('' . '', array(
    'class' => 'next', 
    'escape' => false 
) , null, array(
    'tag' => 'span', 
    'escape' => false, 
    'class' => 'next' 
)), "\n"; 
?> 
</div> 

поставить этот код в элементе pagination.ctp

вызова компонент в контроллере

var $components = array('Paginator'); 

вызова нумерация страниц в контроллер

$this->paginate = array(
      'limit' => 10, 
      'order' => array(
      'User.created' => 'desc') 

     ); 
     $results = $this->paginate('User'); 

И в файле CTP называют пагинация

<?php echo $this->element('pagination'); ?>