Неправильный URL привел к нумерации страниц - PullRequest
1 голос
/ 07 июля 2010

Я использую 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-> passArgs));

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

Вот то, что потом напоминает Предыдущая и Следующая ссылки:
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);    
?> 

1 Ответ

2 голосов
/ 07 июля 2010

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

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

Инструкция CakePHP - твой друг!

...