在使用DEDECMS时,如何让最新发表的内容在24小时内显示为红色,而超过24小时后恢复为默认颜色呢?这种方法可以有效吸引用户关注最新内容,提升网站的活跃度。接下来,我们将详细介绍如何实现这一功能。
首先,我们知道最新发表的调用标签通常位于模板目录的主页模板中。以默认模板为例,打开 templets/default/index.htm 文件,假设以下代码是用于调用最新发表内容的:
{dede:arclist titlelen='60' noflag='h' row='13'}
[field:pubdate function="MyDate('m-d',@me)"/][field:title/]
{/dede:arclist}
为了实现24小时内标题显示为红色的功能,我们需要对上述代码进行修改。以下是修改后的代码:
{dede:arclist titlelen='60' noflag='h' row='13'}
[field:pubdate runphp='yes']
$a="";
$d="";
$b="";
$c=strftime("%m-%d","@me");
$ntime = time();
$oneday = 3600 * 24;
if(($ntime - @me)<$oneday) @me = $a.$c.$b;
else @me = $d.$c.$b;
[/field:pubdate] [field:title/]
{/dede:arclist}
以上代码中,我们通过 PHP 的 runphp='yes' 属性实现了动态判断发布时间是否在24小时内。如果发布时间距离当前时间小于24小时,则标题将被包裹在红色样式中;否则,标题将以默认样式显示。
如果你使用的是 DEDECMS 默认模板,并且首页调用了类似以下代码:
[field:pubdate function="MyDate('m-d',@me)"/]
那么只需将其替换为以下代码即可:
[field:pubdate runphp='yes']
$a="";
$d="";
$b="";
$c=strftime("%m-%d","@me");
$ntime = time();
$oneday = 3600 * 24;
if(($ntime - @me)<$oneday) @me = $a.$c.$b;
else @me = $d.$c.$b;
[/field:pubdate]
完成以上步骤后,保存文件并刷新页面,你将看到最新发表的内容在24小时内以红色显示,而超过24小时后恢复为默认颜色。
这种方法不仅提升了用户体验,还能够突出展示最新的内容,非常适合新闻类或资讯类网站使用。