在 CakePHP 2.1.3 中使用分页时,我在获取所需的精确 URL 时遇到问题,该 URL 需要与我的自定义路由相同。这是我所拥有的一个例子:
网址: /courses/section-name/cat-name/subcat-name
我的路线:
Router::connect('/courses/:section/:cat/:subcat/*', array(
'controller' => 'courses', 'action' => 'courseCategory'), array(
'pass' => array('section', 'cat', 'subcat'),
'section' => '[a-zA-Z0-9_-]+',
'cat' => '[a-zA-Z0-9_-]+',
'subcat' => '[a-zA-Z0-9_-]+'
));
就使用这种格式的正常导航而言,一切正常,当访问页面时,我的所有链接等都可以得到分页结果。我已将 Paginator Helper 的“选项”设置如下:
$this->Paginator->options(array('url'=>$this->passedArgs));
然而,这会产生一个 URL,例如:/courses/courseCategory/section-name/cat-name/subcat-name/page:2
它不起作用。
如果我从 URL 中手动删除操作名称“ courseCategory ”,例如:/courses/section-name/cat-name/subcat-name/page:2
等,那么一切正常,我会转到相关的结果页面,所以我想我很接近了吗?然而,经过数小时的搜索、阅读文档/API 和尝试不同的事情后,如果没有控制器的操作,我就无法让我的 URL 链接出现,现在它让我发疯了!
所以,我想问题是我哪里出错了,或者有人有替代解决方案吗?
任何帮助将不胜感激,如果需要,我们很乐意提供更多信息。
谢谢 :)