2

在 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 链接出现,现在它让我发疯了!

所以,我想问题是我哪里出错了,或者有人有替代解决方案吗?

任何帮助将不胜感激,如果需要,我们很乐意提供更多信息。

谢谢 :)

4

0 回答 0