首页 > 其他分享 >帝国cms实现发布时间为几小时前几天前等格式的方法

帝国cms实现发布时间为几小时前几天前等格式的方法

时间:2024-10-05 16:13:43浏览次数:7  
标签:调用 函数 自定义 newstime 几小时 格式 cms 模板

要在帝国CMS中实现时间显示为“几小时前”、“几天前”等格式,可以通过自定义函数来完成。以下是具体的步骤和代码示例。

步骤

  1. 编写自定义函数:将自定义函数写入 userfun.php 文件中。
  2. 调用函数:在列表模板和内容模板中调用该函数。

自定义函数

将以下代码放入 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] 是当前记录的时间字段。

标签:调用,函数,自定义,newstime,几小时,格式,cms,模板
From: https://www.cnblogs.com/hwrex/p/18447940

相关文章

  • 为什么帝国cms验证码一直均显示为“ecms”
    在帝国CMS中,验证码显示为“ecms”的主要原因是因为服务器空间不支持GD库(GraphicsDrawingLibrary)。GD库是PHP的一个扩展库,用于生成图像,如验证码图片。当服务器不支持GD库时,验证码生成功能会受到影响,导致默认显示为“ecms”。解决方案升级服务器环境:确保服务器支持GD库。使用......
  • 帝国CMS图片集只能上传10张图片的原因及解决办法_max_file_uploads
    在帝国CMS中上传图片时,如果发现上传多张图片但最终只显示部分图片,这通常是由于PHP配置中的 max_file_uploads 参数限制导致的。具体来说,这个参数限制了一个表单最多能上传多少个文件。原因分析在帝国CMS中,每张图片都会生成一张大图和一张缩略图,因此实际上每次上传都会占用两......
  • 帝国CMS列表页判断是否有标题图片,如果没有就显示指定的图片
    在帝国CMS列表页中,如果文章没有标题图片,则可以显示指定的备选图片。这样可以确保页面视觉统一美观,提升用户体验。方法1:使用PHP判断复制以下代码到列表内容模板:php if(empty($r['titlepic'])){$pic='';}else{$pic='<imgsrc="'.$r['titlepic'].'"/>'......
  • 帝国CMS表单提交跳转到指定页面
    以下是如何在表单中添加隐藏字段 ecmsfrom 的示例代码:<formaction="your_action_url.php"method="post"><!--其他表单字段--><!--添加隐藏字段ecmsfrom--><inputtype="hidden"name="ecmsfrom"value="跳转地址"......
  • 帝国CMS模板调用指定栏目的tag或当前栏目的tag
    在帝国CMS模板中,可以通过不同的SQL查询方式来调用指定栏目中的所有TAG。以下是四种不同的方法及其解释。方法1SQL查询sql selectDISTINCT([!db.pre!]enewstags.tagname),[!db.pre!]enewstags.tagid,[!db.pre!]enewstags.numfrom[!db.pre!]enewstagsinnerjoin[......
  • 帝国cms友情链接系统
    一、友情链接系统说明前台投票调用方式用友情链接标签调用plaintext [phomelink]每行显示数,显示总数,操作类型,分类id,是否显示原链接[/phomelink]例如:plaintext [phomelink]5,20,show,0,1[/phomelink]这表示每行显示5个链接,总共显示20个链接,操作类型为显......
  • 在帝国CMS后台禁止了管理自己的ip地址无法访问解决办法
    当你遇到帝国CMS无法访问的情况,通常是因为配置文件中的IP禁止设置出现了问题。以下是具体的解决步骤:问题1:无法访问自己的网站原因分析问题通常出现在 config.php 文件中的 closeip 设置,可能在最后一个IP后面有多余的空行或空格。解决方法打开 config.php 文件:......
  • 帝国CMS 批量修改字段内容sql语句
    在帝国CMS后台执行SQL语句批量修改数据时,可以通过以下步骤进行操作。这里提供了一些通用的SQL语句示例,不包含具体的网址。步骤说明登录帝国CMS后台。进入系统管理。执行SQL语句。具体操作步骤登录帝国CMS后台:登录帝国CMS后台管理界面。进入系统管理:进入 系统 ......
  • 帝国CMS当前位置newsnav“首页”两个字修改方法
    如果你希望修改帝国CMS当前位置 [!--newsnav--] 字段中的“首页”文字,可以通过修改特定的语言文件来实现这一目标。具体操作步骤找到语言文件:找到 e/data/language/gb/pub/fun.php 文件。修改“首页”文字:在文件中找到以下代码:php 'index'=>'首页',修......
  • 帝国CMS在IIS环境开启TAG伪静态后,中文TAG提示“TAG不存在”的最后解决方法!
    如果你尝试了多种解决方案仍然无法解决帝国CMSTAG伪静态中文提示“TAG不存在”的问题,可以尝试以下方案:解决方案打开 index.php 文件。修改变量获取方式。具体操作步骤打开 index.php 文件:打开 /e/tags/index.php 文件。修改变量获取方式:查找以下代码:......