我试图通过定义传递给单个控制器函数browse()的各种uri段来搜索产品列表。使用 CI 的 uri_to_assoc() 我正在建立一个传递给 SQL 查询的密钥对列表。但是,我很难弄清楚这方面的分页是如何工作的。我将举几个例子,希望能说明我的问题。
我希望能够按类别、品牌或范围浏览我网站上列出的产品。用户应该能够浏览这 3 个搜索元素的任意组合,例如:
- http://mysite.com/our-products/browse = 浏览所有
- http://mysite.com/our-products/browse/category/cabinets+%26+storage - 列出橱柜和存储类别中的产品
- http://mysite.com/our-products/browse/category/cabinets+%26+storage/brands/ramon+soler - 列出品牌为 Ramon Soler 的橱柜和存储类别中的产品
- http://mysite.com/our-products/browse/category/cabinets+%26+storage/range/texas - 列出柜子和存储类别中的产品,范围是德克萨斯州
- http://mysite.com/our-products/browse/brand/ramon+soler/range/texas - 列出 Ramon Soler 品牌的产品,范围是德克萨斯州
- 等等等等……
问题是当涉及到分页时,CI 总是将其添加到 url 的末尾。因此,根据查询的深度,url 中偏移参数的位置会有所不同。
任何人都知道如何将偏移段引入这种格式,所以我总是知道它在哪里,不管上面的每个链接组合使用哪种?还要记住,在这些页面的第一次加载时,根本不会设置偏移段,并且只会在后续页面加载时出现。
如果可能的话,我宁愿不必使用查询字符串,而是坚持使用基于 url 段的方法。
谢谢。