请问帝国cms实现发布时间为几小时前几天前等格式的方法
要在帝国CMS中实现时间显示为“几小时前”、“几天前”等格式,可以通过自定义函数来完成。以下是具体的步骤和代码示例。
步骤
- 编写自定义函数:将自定义函数写入
userfun.php
文件中。 - 调用函数:在列表模板和内容模板中调用该函数。
自定义函数
将以下代码放入 userfun.php
文件中:
<?php // 自定义时间显示函数 function user_time($tm, $num) { if ($num == 1) { $tm = strtotime($tm); } $cur_tm = time(); $dif = $cur_tm - $tm; $pds = array('秒', '分钟', '小时', '天', '周', '个月', '年'); $lngh = array(1, 60, 3600, 86400, 604800, 2630880, 31570560); for ($v = sizeof($lngh) - 1; ($v >= 0) && (($no = $dif / $lngh[$v]) <= 1); $v--) ; if ($v < 0) $v = 0; $_tm = $cur_tm - ($dif % $lngh[$v]); $no = floor($no); $x = sprintf("%d%s", $no, $pds[$v]); return $x . "前"; } ?>
调用函数
列表模板调用
在列表模板中调用该函数:
html'.user_time($r[newstime], 0).'
这里的 $r[newstime]
是当前记录的时间字段。
内容模板调用
在内容模板中调用该函数:
html<?=user_time($navinfor[newstime], 0)?>
这里的 $navinfor[newstime]
是当前记录的时间字段。
更新时间:2025-04-11 00:44:35
上一篇:请问宝塔面板迁移磁盘数据至_home目录时遇到的问题及解决办法
下一篇:请问帝国CMS新闻正文图片自动加alt与title为文章标题
转载请注明原文链接:https://www.muzicopy.com/suibi/6378.html