首页 > php > phpcms > > 正文

修改PHPCMS V9列表排序,listorder、order排序功能的方法

发布人:zhoulujun@live.cn    点击:

phpcms文件调用默认是按照id排序的,就是按照时间顺序降序(最新的文章拍前面, 但是,我自己对文章做了排序,就无可奈何了

phpcms文件调用默认是按照id排序的,就是按照时间顺序降序(最新的文章拍前面,

但是,我自己对文章做了排序,就无可奈何了

blob.png

按照手册,就是

blob.png

但是:文件发表顺序,排序错了,最晚发布的文章拍最后了

然后再查,发现,可以填0,1,2,3,因为

$listorder = array('`id` ASC', '`id` DESC', '`listorder` ASC, `id` DESC', '`listorder` DESC, `id` DESC');

 (line:29    phpcms\modules\special\classes\special_tag.class.php)


      可以填 0 1 2 3 四个选项

      listorder="0"   等于  order="id ASC"

      listorder="1"   等于  order="id DESC"

      listorder="2"   等于  order="listorder ASC"

      listorder="3"   等于  order="listorder DESC"

但是,还是不行,所以,自己写……

 修改PHPCMS V9相关文章、专题listorder、order排序功能的方法

http://blog.csdn.net/zsj523/article/details/38269695

完全是误人子弟啊,然后自己写!!


首先,sql语句排序规则??

SELECT t.* FROM (SELECT * FROM a ORDER BY m ) as t ORDER BY n DESC

select * FROM a ORDER BY m ASC,n DESC

我们采用第二种方式!

ORDER BY  后可加2个字段,用英文逗号隔开。

f1用升序, f2降序,sql该这样写

ORDER BY  f1, f2  DESC

也可以这样写,更清楚:

ORDER BY  f1 ASC, f2  DESC

如果都用降序,必须用两个desc

ORDER BY  f1 DESC, f2 DESC

所以,修改后的东西是……


{pc:content action="lists" catid="$catid" num="30" order="listorder DESC,inputtime DESC" page="$page"}

验证:

blob.png