我有一个 /payments 界面,用户应该能够通过价格范围、银行和其他内容进行过滤。这些过滤器是标准选择框。当我提交过滤器表单时,所有的帖子数据都会转到另一种称为付款/搜索的方法。该方法执行验证,将 post 值保存到会话 flashdata 中,并将用户重定向回 /payments,通过 URL 传递 flashdata 名称。
所以我没有过滤器的标准分页链接是这样的:
payments/index/20/
payments/index/40/
payments/index/60/
如果您提交过滤器表单,则返回 URL 为:
payments/index/0/b48c7cbd5489129a337b0a24f830fd93
这很好用。如果我将零更改为其他内容,则分页就好了。然而,唯一的问题是 << 1 2 3 4 >> 页面链接在分页偏移后不会保留散列。CodeIgniter 正在生成忽略附加 uri 段的页面链接。
我的 uri_segment 配置已经设置为 3:
$config['uri_segment'] = 3;
我无法将 uri_segment 设置为 4,因为该哈希可能存在也可能不存在。关于如何解决这个问题的任何想法?CI是否必须将偏移量作为uri中的最后一段?也许我正在尝试一种不正确的方法,所以我全神贯注。
谢谢各位。
编辑:您可能会问,为什么我要通过 uri 传递 flashdata 名称?因为它允许用户打开多个浏览器选项卡并在每个选项卡中进行不同的搜索。对于您执行的每个过滤,都会生成一个新的 flashdata var。