在使用 Dedecms CMS 构建网站时,模板中的时间显示功能是非常重要的一个部分。本文将详细介绍如何通过 Dedecms 时间标签实现“今日”和“昨日”的效果,从而提升用户体验。 Dedecms 是一款功能强大的内容管理系统,支持灵活的模板定制。为了实现时间标签的动态显示效果,您可以按照以下步骤操作: 首先,在模板中添加以下代码片段,用于判断发布时间与当前时间的差异,并根据结果显示“今日”、“昨日”或具体的日期格式。

[field:pubdate runphp='yes']
    $ntime = time();  
    $oneday = 3600 * 24;  
    $oneday1 = 2 * 3600 * 24;  
    if(($ntime - @me) < $oneday)  
    { @me = '今 日';}  
    elseif (($ntime - @me) < $oneday1)  
    {@me = '昨 日';}  
    else  
    { @me = MyDate('Y.m:d',@me);}  
[/field:pubdate]

### 代码解析 - **`[field:pubdate runphp='yes']`**:这是 Dedecms 的自定义字段标签,允许我们在模板中嵌入 PHP 代码。 - **`$ntime = time();`**:获取当前时间戳。 - **`$oneday = 3600 * 24;`**:定义一天的时间戳(以秒为单位)。 - **`if(($ntime - @me) < $oneday)`**:判断发布时间是否在 24 小时内。如果是,则显示“今日”。 - **`elseif (($ntime - @me) < $oneday1)`**:如果发布时间在 24 到 48 小时之间,则显示“昨日”。 - **`else`**:对于超过 48 小时的内容,显示具体的日期格式(如“2023.10:15”)。
### 实现效果 通过上述代码,您的网站可以自动根据文章的发布时间动态调整显示效果。例如: - 如果文章是当天发布的,会显示为今 日。 - 如果文章是前一天发布的,会显示为昨 日。 - 对于更早的文章,则会显示具体的日期。 这种动态的时间显示方式不仅提升了用户的阅读体验,还能让网站显得更加专业和人性化。
### 注意事项 1. **样式调整**:`` 和 `` 中的颜色可以通过 CSS 进一步自定义,确保与网站整体风格一致。 2. **性能优化**:虽然此方法简单有效,但如果数据量较大,建议对数据库进行索引优化,避免因频繁计算时间戳而影响性能。 3. **兼容性测试**:在不同浏览器中测试时间显示效果,确保一致性。 通过以上方法,您可以在 Dedecms 网站中轻松实现动态时间显示功能,为用户提供更好的浏览体验。希望这篇文章能帮助到您!