代码点火器:分页与参数冲突



这是我的情况:我有页面 localhost/ctc/product 来显示产品和 localhost/ctc/product/abcxyz 来显示单个产品 abcxyz 的详细信息。它工作正常,直到我想分页我的主页,因为产品列表太长。我使用通常的分页类进行分页,但是当我进入下一页时,网址变得如下所示:localhost/ctc/product/1,我认为它将分页码错误地分配给产品,并且页面什么也没显示。那么我该如何解决这个问题呢?谢谢大家,对不起我的英语蹩脚。

问题解决了。感谢约翰B和奥波兰。

你应该用正则表达式限制url最后一个参数中的内容。

您有 3 条路线:

ctc/product
ctc/product/abcxyz
ctc/product/1

您必须向路由器机制解释 2 路由应仅接受字符串作为最后一个参数,并且第三条路由只能接受数字作为最后一个参数。

你可以这样做:

$route['ctc/product/([a-z]+)'] = "controller/method/$1";
$route['ctc/product/([0-9]+)'] = "controller/method/$1";

因此,现在您有 2 条路由在 URI 中具有相同数量的"参数",但路由器知道差异。一个将字符串作为最后一个参数,最后一个路由将整数作为最后一个参数。

我没有时间在本地服务器上对此进行测试。但是你应该知道这应该如何工作。

Joust 在此处阅读文档:代码点火器路由

最新更新