Неверный URL привел к разбивке на страницы

Я использую CakePHP 1.26.

В PostsController у меня есть это:

$this->paginate=array('conditions'=>array('Reply.post_id'=>$id),'limit' => 1);
$w = $this->paginate($this->Post->Reply); 
$this->set('views', $w);

И в view.ctp у меня есть это:

  <table><tr><td>
        <?php echo $paginator->numbers(); ?>
        <?php
            echo $paginator->prev('Previous', null, null);
            echo $paginator->next(' Next', null, null);?>
     </td></tr></table>

И когда я нажимал ссылку «Далее», отображался неверный URL-адрес:
http://localhost:8080/post/view/page:2

Правильный URL-адрес должен быть
http://localhost:8080/post/view/2/page:2

Идентификатор, ссылающийся на публикацию, отсутствует после /post/view/

Не могли бы вы помочь мне решить проблему, пожалуйста?

Я добавил это в view.ctp:
$paginator->options(array('url' => $this->passedArgs));

Теперь ссылки "Следующая" и "Предыдущая" исправлены, но
числа между ссылками "Следующая" и "Предыдущая" по-прежнему неверны.

Вот как выглядят ссылки «Предыдущая» и «Следующая» после этого:
http://localhost:8080/post/view/2/page:2

Но ссылки, представляющие числа 1|2|3|4|5, пока не изменены:
http://localhost:8080/post/view/page:2

Любые идеи?

Причина редактирования: OK,
я изменил свой код и получил новый ответ на вопрос:
Вот код в моем файле view.ctp:

<?php
    $paginator->options(array('url' => '../view/'.$postid));
    echo $paginator->numbers();
    echo $paginator->prev('Previous', null, null);
    echo $paginator->next(' Next', null, null);    
?> 

person user327712    schedule 07.07.2010    source источник


Ответы (1)


В нижней части этой страницы руководства объясняется, что вы должны сделать, чтобы ваши аргументы были включены в ссылки на страницы.

http://book.cakephp.org/view/166/Pagination-in-Views

Руководство CakePHP — ваш друг!

person Finster    schedule 07.07.2010