帝国CMS您现在的位置是:首页 > 博客日志 > 帝国CMS

帝国CMS信息栏目页终极栏目文章列表排序方式设置,自定义排序方式

<a href='mailto:'>微wx笑</a>的头像微wx笑2020-10-31 16:48:44帝国CMS人已围观关键字: 帝国cms  文章  列表  排序  

帝国CMS终极栏目文章列表排序方式是在创建终极栏目的时候设置的,需要在管理栏目的栏目属性中的生成选项中设置。而对于一个知道的人,可能不会想到这一点。最先想到的可能是去“默认新闻列表模板”中找。

帝国CMS终极栏目文章列表排序方式是在创建终极栏目的时候设置的,需要在管理栏目的栏目属性中的生成选项中设置。而对于一个知道的人,可能不会想到这一点。最先想到的可能是去“默认新闻列表模板”中找。而对于一个程序员来说,在“默认新闻列表模板”中找不到,就会从“刷新所有信息栏目页”开始跟踪了(别笑,我就是那个傻狍子),找了一圈,发现是可以设置的。6e4编程技术_踩坑日志_进阶指南_无知人生


6e4编程技术_踩坑日志_进阶指南_无知人生

设置方法

栏目》管理栏目》修改栏目属性6e4编程技术_踩坑日志_进阶指南_无知人生

image.png6e4编程技术_踩坑日志_进阶指南_无知人生

然后选择“生成选项”,其中“列表式页面排序方式”就是可以自定义排序方式的地方,你可以从右侧提供的方式中选择,也可以自己输入。
6e4编程技术_踩坑日志_进阶指南_无知人生

image.png6e4编程技术_踩坑日志_进阶指南_无知人生


6e4编程技术_踩坑日志_进阶指南_无知人生

跟踪方式

如果你对代码感兴趣,可以往下看一看。6e4编程技术_踩坑日志_进阶指南_无知人生

想要跟踪,就是从“数据更新”》“刷新所有信息栏目页”这个入口开始,因为文章列表都是通过这里更新生成的。6e4编程技术_踩坑日志_进阶指南_无知人生

image.png6e4编程技术_踩坑日志_进阶指南_无知人生

拿到URL地址,也就找到了跟踪的入口文件
6e4编程技术_踩坑日志_进阶指南_无知人生

/e/admin/ecmschtml.php?
enews===ReListHtml_all
start===0
from===ReHtml%2FChangeData.php%3Fehash_TIU3E%3D9kCrj46qosCn7Pa1tVed
ehash_TIU3E===9kCrj46qosCn7Pa1tVed
rhash_fshGr===LkVRcTyzzU08
do===all

那么就去“/e/admin/ecmschtml.php”文件中找,根据第一个参数值查找“ReListHtml_all”,会找到“ReListHtml_all”这样一个函数,然后再去查找这个函数。6e4编程技术_踩坑日志_进阶指南_无知人生

elseif($enews=="ReListHtml_all")//刷新所有列表
{
 $start=$_GET['start'];
 $do=$_GET['do'];
 $from=$_GET['from'];
 ReListHtml_all($start,$do,$from);
}

当前文件中找不到,就去包含引用的文件中去找,根据文件名,可以知道以下文件相关性应该最大。
6e4编程技术_踩坑日志_进阶指南_无知人生

require("../class/chtmlfun.php");

再往下,会找到“ListHtml”函数
6e4编程技术_踩坑日志_进阶指南_无知人生

//生成信息列表
function ListHtml($classid,$fields,$enews=0,$userlistr=""){

然后会找到查询语句,发现有关于排序的变量“$addorder”6e4编程技术_踩坑日志_进阶指南_无知人生

$query="select ".ReturnSqlListF($mid)." from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$yhadd."classid='$classid'".$caddsql." order by ".ReturnSetTopSql('list').$addorder.$limit;

大概就是这样子吧,到这里可以判断排序选项是从栏目数据表里读的,说明后台栏目管理中是可以配置的。6e4编程技术_踩坑日志_进阶指南_无知人生

本文由 微wx笑 创作,采用 CC BY-NC 4.0 许可协议。 非商业性使用可自由转载、引用、甚至修改,但需署名作者且注明出处。

很赞哦! () 有话说 ()