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