在织梦CMS中,列表页显示文章的发布时间是一项基本功能,但有时候我们希望将时间的显示方式更加友好,比如将日期转换为“、“昨天”等相对时间,本文将详细介绍如何在织梦CMS中实现这一功能,并确保内容准确、排版精美、逻辑清晰。
准备工作
我们需要对织梦CMS的文件结构有一定了解,主要涉及以下文件:
/include/arc.listview.class.php
:控制列表页的显示逻辑。
/templets/default/list_article.htm
:列表页的模板文件。
/templets/default/index.htm
:首页的模板文件(如果需要在首页应用)。
修改PHP代码
1、打开/include/arc.listview.class.php
找到以下代码段:
“`php
$time = $value[‘pubdate’];
if($time){
$r[$j][‘date’] = GetDateMkString($time);
}
“`
替换为:
“`php
$time = $value[‘pubdate’];
if($time){
$r[$j][‘date’] = getRelativeTime($time);
}
“`
2、添加辅助函数
在/include/common.func.php
文件中添加以下函数:
“`php
function getRelativeTime($timestamp) {
$now = time();
$difference = $now $timestamp;
if ($difference < 60) {
return "刚刚";
} elseif ($difference < 3600) {
$minutes = floor($difference / 60);
return "$minutes分钟前";
} elseif ($difference < 86400) {
$hours = floor($difference / 3600);
return "$hours小时前";
} elseif ($difference < 172800) {
return "昨天";
} else {
return date(‘Ymd’, $timestamp);
}
}
“`
修改模板文件
1、编辑/templets/default/list_article.htm
找到以下代码段:
“`html
<td class="l_date"><span>[field:date/]</span></td>
“`
替换为:
“`html
<td class="l_date"><span>{dede:field name=’date’ function=’getRelativeTime(@me)’/}</span></td>
“`
2、(可选)编辑/templets/default/index.htm
如果你希望在首页也应用这个功能,可以在首页模板中找到相应的日期字段进行同样的修改。
测试与发布
完成以上步骤后,保存所有更改并上传到服务器,访问你的网站列表页,检查时间是否已经成功显示为“或“昨天”。
相关问答FAQs
h3. 如何撤销这些更改?
如果需要撤销这些更改,只需按照以下步骤操作:
1、删除/include/common.func.php
中新增的getRelativeTime
函数。
2、恢复/include/arc.listview.class.php
中的原始代码。
3、恢复/templets/default/list_article.htm
和/templets/default/index.htm
中的原始日期显示代码。
h3. 如何自定义相对时间的格式?
你可以通过修改getRelativeTime
函数来实现自定义的时间格式,你可以修改“刚刚”为“1分钟前”,或者根据需求调整其他时间单位的显示方式。
通过上述步骤,你已经成功地在织梦CMS中实现了将文章发布时间显示为“和“昨天”的功能,这不仅提高了用户体验,还能让网站显得更加专业和友好。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1100157.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复