今日有客户需求是后台的文章列表显示的时间需要改成自定义时间而非系统自带的发布时间和更新时间。
那么按照以前的方法是:
找到后台的content_list.PHP文件 ,然后注释或者删除掉以下代码,大概在:165行左右。
$whereSql = empty($channelid) ? " WHERE arc.channel > 0 AND arc.arcrank > -2 " : " WHERE arc.channel = '$channelid' AND arc.arcrank > -2 ";
第二步,在第208行左右。找到以下代码并删除,或者修改为后面的。
$query = "SELECT arc.id,arc.typeid,arc.senddate,arc.flag,arc.ismake,
arc.channel,arc.arcrank,arc.click,arc.title,arc.color,arc.litpic,
arc.pubdate,arc.mid
FROM `$maintable` arc
$whereSql
ORDER BY $orderbyField DESC";
修改为下面的:
$query = "SELECT arc.id,arc.typeid,addon.自定义字段名字,arc.senddate,arc.flag,arc.ismake,arc.channel,
arc.arcrank,arc.click,arc.title,arc.color,arc.litpic,arc.pubdate,arc.mid
FROM `$maintable` arc,`dede_addonarticle` addon,`dede_arctype` act where (arc.id=addon.aid) and (arc.typeid=act.id) and (arc.arcrank > -2)$whereSql
ORDER BY $orderbyField DESC";
选择中添加了一个自定义字段,数据表除了主表外,另外增加了两个筛选表
这里需要注意的是,可能网上很多教程会比我这里少了一段代码:
and (arc.arcrank > -2)
如果少了这一段代码,将会出现的问题是什么呢?
就是你在列表中明明删除了一篇文章,但是他还是显示在这个列表中,原因是你虽然删除了这篇文章,但是这篇文章依旧在这个表中,它只是将arcrank的属性修改成了-2,但是文章并没有真正的删除,所以如果少了这段代码,这里就不能进行一个筛选,所以你会发现如果少了它,你点了删除,文章依旧还在。除非你将回收站里面的文章也删除,列表中才会真正的清除掉。所以这个是关键所在。