关于修改ZBlog1.7文章列表排序的方法
本文又名:ZBlog如何按照更新时间(浏览量、评论量、热度、id、作者等等)排序 。
最近做一个主题,文章列表需要按照文章更新时间排序,于是记录一下。
在c_system_plugin.php发现了这个接口:
点击复制代码运行代码编辑模式PHP
/*
'**************************************************<
'类型:Filter
'名称:Filter_Plugin_LargeData_Article
'参数:&$select,&$where,&$order,&$limit,&$option
'说明:大数据文章接口
'调用:
'**************************************************>
*/
DefinePluginFilter('Filter_Plugin_LargeData_Article');
不管别的,从语义上分析order就是排序相关的参数,然而作为一个只会抄的渣渣,还是不知道order该怎么赋值。
于是全局搜索了一下,在c_system_route.php发现了这一句:
点击复制代码运行代码编辑模式PHP
$order = array('log_PostTime' => 'DESC');
然后怎么办?当然是照葫芦画瓢啊!
挂接口:
点击复制代码运行代码编辑模式PHP
Add_Filter_Plugin('Filter_Plugin_LargeData_Article','Jz52_xxx');
函数体:
点击复制代码运行代码编辑模式PHP
function Jz52_xxx(&$select,&$where,&$order,&$limit,&$option){
global $zbp;
$order = array('log_UpdateTime' => 'DESC');//按照更新时间降序
}
log_UpdateTime可以按照需求替换成:
点击复制代码运行代码编辑模式PHP
log_PostTime //按照发布时间
log_UpdateTime //按照更新时间
log_CommNums //按照评论数量
log_ViewNums //按照浏览数量
log_ID //按照ID
log_CateID //按照分类ID
log_AuthorID //按照作者ID
DESC可以替换成:
点击复制代码运行代码编辑模式PHP
DESC //降序
ASC //升序
问题解决。
所以说没事多看看c_system_plugin.php还是很有用的。
高端的程序员,往往采用最朴素的编程方式!