列表自定义排序

在电子商务中,我们经常需要使用到自定义排序来实现筛选。如下图

blob

PHPOK程序已经内置此功能,但生成的网址需要您自行编写,格式如下(仅限动态网址):

  1. index.php?id=项目标识&sort=排序SQL

排序SQL的一些注意事项:

主表(qingganlist)前缀用字母“l”(不是数字,是小写的字母L)表示

扩展表(qinggan_list模块ID)前缀用单词“ext”

电商表(qinggan_list_biz)前缀用字母“b”

分类表(qinggan_list_cate)前缀用两个字母“lc”(即小写的字母LC)

排序SQL请编码,在PHP里可以用rawurlencode进行编码,在JS可以用encode进行编码

这里简单罗列几个排序写法:

1、热门排序(又名人气排序),即点击量多的排前面

  1. <!-- php:$sort = "l.hits DESC" -->
  2. index.php?id=项目标识&sort={func rawurlencode $sort}

2、热门倒序,即点击量少的排在前面

  1. <!-- php:$sort = "l.hits ASC" -->
  2. index.php?id=项目标识&sort={func rawurlencode $sort}

3、价格排序,即价格高的排前面

  1. <!-- php:$sort = "b.price DESC" -->
  2. index.php?id=项目标识&sort={func rawurlencode $sort}

4、价格倒底,即价格低的排前面

  1. <!-- php:$sort = "b.price ASC" -->
  2. index.php?id=项目标识&sort={func rawurlencode $sort}

5、最新排序,即录入产品的时间先后来排序

  1. <!-- php:$sort = "l.dateline DESC" -->
  2. index.php?id=项目标识&sort={func rawurlencode $sort}

关于销量排序,因为涉及到订单表,默认没有提供,需要的话,最好配合插件来重写(比如将销售成功的产品数量存到扩展表字段中,然后通过ext.扩展字段标识,来实现排序,自由发挥)