在DedeCMS中,实现24小时内发布文章标题显示为红色的效果是一种常见的需求。这种方法虽然不能精确到“今天”,但可以定义为最近24小时内的文章。以下是详细的实现方法,帮助您优化网站内容展示效果。

为了实现这一功能,您可以使用以下代码片段:


[field:pubdate runphp='yes']
$a="<font color='#ff0000'>";
$b="</font>";
$c=strftime("%Y年%m月%d日 %H:%M:%S","@me");
$ntime = time();
$oneday = 3600 * 24;
if(($ntime - @me)<$oneday) @me = $a.$c.$b;
else @me =$c;
[/field:pubdate]

上述代码的作用是:
通过判断发布时间与当前时间的差值是否小于24小时(即86400秒),来决定是否将文章标题或时间显示为红色。如果满足条件,则添加红色字体标签;否则,保持默认样式。

此外,如果您想在页面上显示最后更新时间,可以使用以下代码:


最后更新时间:{dede:tagname runphp='yes'}@me = date("Y-m-d H:i:s", time());{/dede:tagname}

这段代码会动态生成当前服务器时间,并以指定格式(如“2023-10-01 12:00:00”)显示最后更新时间。

对于更灵活的时间显示方式,例如显示“XX天前”,可以使用以下代码:


[field:pubdate runphp='yes']
$today = Floor(time()/(3600 * 24));
$senday= Floor(@me/(3600 * 24));
$updays = $today-$senday;
if($updays==0) @me = "今日";
else @me = $updays."天前";
[/field:pubdate]

这段代码计算了文章发布时间与当前日期之间的差值,并根据结果输出“今日”或“X天前”。这种显示方式更加直观,用户可以快速了解文章的新鲜度。

以上方法可以帮助您在DedeCMS中实现更灵活的时间显示效果,从而提升用户体验。记得将这些代码片段插入到合适的位置,并确保模板文件正确解析PHP代码。

希望本文对您有所帮助!如果您还有其他问题,请随时提问。