CakePHP нумерация страниц (последний параметр param) - PullRequest
0 голосов
/ 29 ноября 2011

У меня «маленькая» проблема с системой пагинации CakePHP (1.2).Вот запрос:

$this->paginate = array (
    'fields'     => array (
       'Content.slug',
       'Content.title',
       'Content.resume',
       'Content.format',
       'Content.image',
       'Content.video',
       'Criteria.name'
    ),
    'conditions' => $conditions,
    'order'      => 'Content.created DESC',
    'limit'      => 10,
    'contain'    => array (
        'Category',
        'Criteria',
    )
);

$this->set("PRODUCTS", $this->Paginate("Content"));

И код зрения:

<?php $total_pages  = (int)$paginator->counter(array('format' => '%pages%')); ?>
<?php if($total_pages > 1){ ?>
<div class="paginar">
    <div class="next_pre_arrow">
        <?=$paginator->prev("Anterior", array("class" => "pre", "escape" => false))?>
        <?=$paginator->next("Siguiente", array("class" => "next", "escape" => false))?>
        <div class="pages">
            <span>Página</span> <?=$paginator->numbers(array('separator' => ' | '))?> 
        </div>
    </div>
</div>
<?php } ?>

В чем проблема?Нумерация страниц работает хорошо, но с небольшой проблемой.В кнопках «следующий» и «предыдущий», а также в номерах страниц URL-адрес усекается, удаляя последний параметр, например:

"http://www.domain.com/controller-name/caction-name/option-1/option-2"

Показывать ссылки подкачки с этим URL-адресом:

"http://www.domain.com/controller-name/caction-name/option-1/page:2"

НЕ правильно:

"http://www.domain.com/controller-name/caction-name/option-1/option-2/page:2"

В чем причина этого?

1 Ответ

0 голосов
/ 29 ноября 2011

Я думаю, вы можете настроить ссылки, сгенерированные помощником Paginator 1002 *, используя метод options().

В частности, вы можете использовать $options['url']передать пользовательский URL, как если бы вы устанавливали параметры вызова link():

$paginator->options(array(
  'url' => array(
    'controller' => 'YourController',
    'action' => 'your_action'
    'param1' => 'value_1',
    'param2' => 'value_2',
)));
...