我正在制作博客和网址路线是这样的 -
Router::connect('/blog/c/:catid/*',
array('controller' => 'blogarticles', 'action' => 'index'));
它与url as- / blog / c / 3 / other-articles
配合得很好但是当我在视图中使用paginator时
echo $this->Paginator->numbers();
它生成url as- / blogarticles / index / other-articles / page:2
在paginator中进行哪些更改以生成正确的URL。
请建议可能的解决方案,提前致谢
答案 0 :(得分:2)
这可以解决您的问题:
$this->Paginator->options(
array(
'controller' => 'blog',
'action' => 'c',
$catid,
$title
)
);
诀窍是将博客作为控制器,将c作为动作,并将所有其他变量(不限于$ catid和$ title)作为附加参数依次传递!
注意:我在这里假设您已经从控制器“设置”$ catid和$ title,以及当前的“类别ID”和“标题”。我还假设您的网址始终采用以下格式:/ blog / c /:catid /:title
您可能还想查看我对类似问题的回答:https://stackoverflow.com/a/25097693/2862423
答案 1 :(得分:0)
您想要为该视图设置PaginatorHelper的选项:
<?php $this->Paginator->options(array('url' => '/blog/c/3/other-articles')); ?>
PaginatorHelper选项功能上的CakePHP Book部分:http://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#modifying-the-options-paginatorhelper-uses