当前位置:网站首页 >  攻略

EyouCMS时间标签调用零门槛全攻略:从基础到高级筛选格式化

时间:2026年05月23日 07:30:09 来源:易频IT社区

一、前置准备:确认你的调用环境

首先必须明确调用位置——仅EyouCMS前台模板(theme/你的模板名/)支持时间标签调用,后台模块需单独开发PHP逻辑。你需要准备以下2项:

  • EyouCMS后台账号(管理员账号,有模板编辑权限)
  • 进入后台的完整路径(一般是你的域名+/admin)

后台模板编辑入口:登录后台→模板→模板管理→找到要修改的模板目录(如default)→选择对应HTML文件(如列表页list_article.htm、详情页view_article.htm)→点击“编辑”按钮

二、基础调用:3种最常用的时间显示方式

以下标签适用于所有可调用文章、产品、下载、图集等内容的模板区域,先从详情页(view_.htm)最简单的「文档发布时间」开始练手,复制即用。

2.1 调用默认系统时间格式

默认格式由后台「系统基本参数→核心设置→时间显示格式」决定,系统出厂默认是「Y-m-d H:i:s」(如2024-05-20 14:30:00)。

代码块:

``` {$eyou.field.add_time|date='Y-m-d H:i:s',} {eyou:list pagesize='10'}
  • 发布时间:{$eyou.field.add_time|date='Y-m-d H:i:s',}
  • {/eyou:list} ```

    注:循环标签内必须是「{$eyou.field.add_time}」,全局或其他特定区域可能有专属变量,后续高级部分会提。

    2.2 自定义独立时间显示格式

    如果不想改后台全局时间格式,直接在标签内通过「date='自定义格式'」覆盖即可,常用自定义格式符号如下(可按需组合):

    • Y:4位年份(2024);y:2位年份(24)
    • m:带前导零的月份(05);n:不带前导零的月份(5)
    • d:带前导零的日期(20);j:不带前导零的日期(20)
    • H:24小时制带前导零的小时(14);h:12小时制带前导零的小时(02)
    • i:带前导零的分钟(30);s:带前导零的秒(00)
    • W:一年中的第几周(21)
    • D:星期几英文缩写(Mon);w:星期几数字(0=周日,1=周一…6=周六)

    代码示例:

    ``` {$eyou.field.add_time|date='Y年m月d日',} {$eyou.field.add_time|date='Y-n-j a h:i ',}{$eyou.field.add_time|MyWeek,} ```

    2.3 调用“相对时间”(如:刚刚、5分钟前)

    这个格式最适合动态列表或评论区,需先在后台开启「系统基本参数→核心设置→启用相对时间显示」,然后标签内省略date参数即可。

    代码块:

    ``` {eyou:list pagesize='10'}
  • 更新时间:{$eyou.field.update_time}
  • {/eyou:list} ```

    注:如果想只在特定区域用相对时间,不管全局设置,调用代码改为:

    ``` {$eyou.field.add_time|time_format=1,} ```

    (1=强制相对时间,0=强制系统时间格式)

    三、进阶筛选:按时间范围/指定时间段调取内容

    这部分是列表页(list_.htm)或首页标签列表的核心应用,必须放在「eyou:list」「eyou:arclist」「eyou:productlist」等内容循环标签的参数位

    3.1 按固定时间段筛选

    时间格式统一为「Y-m-d H:i:s」,用单引号包裹。

    代码示例:

    ``` {eyou:arclist titlelen='30' pagesize='10' addtime_start='2024-01-01 00:00:00' addtime_end='2024-06-01 00:00:00'}
  • {$eyou.field.title}
  • {/eyou:arclist} {eyou:productlist titlelen='30' pagesize='8' updatetime_start='-7 days' updatetime_end='now'}
  • {$eyou.field.title}
  • {/eyou:productlist} ```

    注:相对时间参数支持PHP的strtotime语法,常用的还有「-1 month」「-1 year」「today」「yesterday」。

    3.2 按当前周/月/年调取内容

    不需要手动改日期,系统自动匹配。

    代码示例:

    ``` {eyou:arclist titlelen='30' pagesize='10' addtime_start='this week 00:00:00' addtime_end='this week 23:59:59'}
  • {$eyou.field.title}
  • {/eyou:arclist} {eyou:imagelist titlelen='30' pagesize='6' addtime_start='this year 00:00:00' addtime_end='this year 23:59:59'}
  • {$eyou.field.title}
  • {/eyou:imagelist} ```

    四、高级操作:补充中文星期函数与时间归档

    4.1 快速添加中文星期显示函数

    刚才基础调用里提到的自定义MyWeek函数,不需要写PHP,直接在后台「模板→标签管理→函数标签」新增即可:

    1. 点击「新增函数标签」按钮
    2. 函数名填:MyWeek
    3. 函数内容复制以下完整代码:
    ``` function MyWeek($time) { $week = date('w', $time); $weekArr = array('星期日','星期一','星期二','星期三','星期四','星期五','星期六'); return $weekArr[$week]; } ```
    1. 点击「提交」保存,之后就可以全局使用了

    4.2 调用“时间归档列表”(按年月分组展示文档)

    适用于博客类网站的侧边栏或底部,代码块:

    ``` {eyou:arcdate listnum='12'}

    {$eyou.field.arcdate}

    {/eyou:arcdate} ```

    注:arcdate标签的参数「listnum」控制分组的总个数(按倒序取最新的12组年月),arcdatechild标签会自动获取该分组下的文档链接和数量。

    五、常见卡壳问题排查

    • 问题1:时间显示为“1970-01-01 08:00:00”→原因是add_time/update_time字段没有值,检查内容是否发布成功或字段是否调用正确(文档用add_time/update_time,评论用add_time)
    • 问题2:相对时间不生效→检查是否同时加了强制系统时间的date参数,或者后台全局设置是否开启后又被其他标签覆盖
    • 问题3:时间筛选后没有内容→检查时间格式是否带了单引号,相对时间参数是否正确(PHP的strtotime语法不能有拼写错误)

    相关推荐

    最新

    热门

    推荐

    精选

    标签

    易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

    Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图