我正在使用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>
当我按下“下一步”链接时,显示错误的网址:
http://localhost:8080/post/view/page:2
正确的网址应为
http://localhost:8080/post/view/2/page:2
在/ post / view /
之后缺少引用帖子的ID你能帮我解决这个问题吗?
我将此添加到view.ctp:
$ paginator-&gt; options(array('url'=&gt; $ this-&gt; passedArgs));
现在更正了Next和Previous链接,但是 “下一个”和“上一个”链接之间的数字仍然不正确。
以下是上一个和下一个链接llok之后的内容:
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);
?>
答案 0 :(得分:2)
在本手册页的底部附近,它解释了将参数包含在分页链接中必须执行的操作。
http://book.cakephp.org/view/166/Pagination-in-Views
CakePHP手册是你的朋友!