现在很多网站将时间的显示都变得更人性化,例如:某某在3分钟之前执行过XX动作。最近在做相关的东西所以直接在SMARTY中做了这个插件。
插件说明:
1、 3个月以内的时间都将以“XX前”这样的形式显示。
2、3个月以后的时间将以参数“$dateformat”提供的格式显示正常时间“XX年XX月XX日,时:分:秒”
3、$timestamp参数必须为有效的并且小于当前时间的时间戳。
4、$dateformat参数为大于三个月的时间显示格式可以配合“php时间显示格式
”使用。
插件代码:
/** * Smarty plugin * @package Smarty * @subpackage plugins */ /** * Smarty date_ago modifier plugin * * Type: modifier * Name: date_ago * Purpose: 通过时间戳获取时间戳离现在多久 * @author StMadMan * @param timestamp|string * @param dateformat|string * @return string|void */ function smarty_modifier_date_ago( $timestamp , $dateformat = 'Y年m月d日, H:i:s' ) { $now = time ( ) ; if ( $timestamp & gt; $now ) { return FALSE ; } $agoTime = $now - $timestamp ; if ( $agoTime & lt; 60 ) { return $agoTime . '秒前' ; } elseif ( $agoTime & lt; 3600 & amp;& amp; $agoTime & gt; 60 ) { return intval ( $agoTime / 60 ) . '分钟前' ; } elseif ( $agoTime & lt; 86400 & amp;& amp; $agoTime & gt; 3600 ) { return intval ( $agoTime / 3600 ) . '小时前' ; } elseif ( $agoTime & lt; 604800 & amp;& amp; $agoTime & gt; 86400 ) { return intval ( $agoTime / 86400 ) . '天前' ; } elseif ( $agoTime & lt; 2592000 & amp;& amp; $agoTime & gt; 604800 ) { return '约' . intval ( $agoTime / 604800 ) . '周前' ; } elseif ( $agoTime & lt; 7776000 & amp;& amp; $agoTime & gt; 2592000 ) { return '约' . intval ( $agoTime / 2592000 ) . '个月前' ; } else { return date ( $dateformat , $timestamp ) ; } }
将以上代码保存至smarty/plugins/modifier.date_ago.php(需要自行创建)。
使用方法:{1267623549|date_ago}
相关推荐
这个“最新版smarty插件”很可能指的是Smarty的3.1.33版本,这是一个稳定且功能丰富的版本。 Smarty的核心特性包括: 1. **模板和PHP代码分离**:Smarty允许开发者在PHP后端处理业务逻辑,而在前端使用模板文件...
Smarty模板插件下载,Dreamweaver的Smarty插件
DZ论坛 PHP插件开发[基于Smarty]DZ论坛 PHP插件开发[基于Smarty]DZ论坛 PHP插件开发[基于Smarty]DZ论坛 PHP插件开发[基于Smarty]DZ论坛 PHP插件开发[基于Smarty]DZ论坛 PHP插件开发[基于Smarty]DZ论坛 PHP插件开发...
在本教程中,我们将快速了解Smarty的核心概念和基本用法,以便你能在5分钟内对它有一个大致的理解。 1. **Smarty模板引擎的基本概念** Smarty是一个独立于PHP的模板系统,它使用特殊的语法(类似于HTML)来创建视...
Smarty 实例教程 Smarty 是一个使用 PHP 编写的模板引擎,它提供了逻辑与外在...Smarty 的优点包括速度、编译型、缓存技术和插件技术等,但是在某些情况下,Smarty 并不适合使用,例如需要实时更新的内容和小项目等。
在这个Smarty_smarty_的压缩包中,很显然包含了一份详尽的Smarty教程,涵盖了从基础到高级的多个方面。下面将详细阐述Smarty模板引擎的关键知识点。 1. **基本语法**:Smarty的语法设计简洁明了,它允许在模板文件...
#Smarty 自定义插件 这是 Smarty 自定义插件。 目录 一、要求 Smarty 自定义插件 2.x:PHP 5.3+、Smarty 3+ Smarty 自定义插件 1.x:PHP 4 或 5,Smarty 2+ (不再支持 1.x。) 2. 安装 下载 Smarty 自定义插件。 ...
$smarty= Smarty::instance(); 模板 之前的smarty模板,相当于重新定义了一套标签语言,那么smarty3提供了一种新的模板形式,直接支持php语法的模板。 但是问题就出来了,我们还有必要用模板吗? 引用php类型模板...
只需开启缓存功能,并设置相应的缓存生命周期,Smarty将在必要时重新编译模板。 7. **预处理与后处理**:通过`pre Enlighter`和`post Enlighter`函数,可以自定义模板在解析前后的处理逻辑。 通过理解并实践这些...
4. **插件扩展**:Smarty允许开发者自定义插件,这些插件可以是自定义函数,增强了模板的功能性。 5. **模板语言功能**:Smarty模板语言支持条件判断语句(if/elseif/else/endif),可以在模板文件中方便地进行逻辑...
12. **插件扩展**:Smarty的灵活性体现在其强大的插件系统,用户可以自定义模板函数、滤镜、配置解析器等,满足个性化需求。 通过Smarty 3.0,开发者能够构建出更清晰、更易于维护的Web应用,同时提供了一流的用户...
2. **模板函数**:类似`{foreach}`、`{if}`、`{section}`等,是Smarty提供的控制结构,用于在模板中进行条件判断和循环操作。 3. **模板插件**:你可以创建自定义的模板函数来扩展Smarty的功能,例如处理特殊格式的...
5. **插件系统**: Smarty拥有丰富的内置插件,如日期格式化、字符串操作等,同时允许自定义插件以扩展其功能。 6. **配置选项**: Smarty提供了大量的配置参数,可以根据项目需求调整其行为,如模板目录、缓存目录、...
4. 在Controller中使用Smarty:在处理请求的方法中,将模型数据绑定到Smarty实例,然后渲染模板并返回响应。 5. 视图解析:在Spring MVC的配置中,定义一个自定义的ViewResolver,使Spring能够识别并处理SMARTY模板...
本书可能涉及到如何在Zend Framework中集成和使用插件,以提高开发效率和代码复用性。MVC模式是软件设计中的一个经典模式,它将应用程序分为三个主要部分:模型负责数据处理,视图负责展示,而控制器则协调两者,...
Smarty Smarty Smarty
1. 速度:采用Smarty编写的程序可以获得...4. 插件技术:Smarty可以自定义插件。插件实际就是一些自定义的函数。 5. 模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。
6. **预处理和后处理**: Smarty允许在渲染模板前和后执行自定义函数,这可以用于过滤数据或者添加额外的处理步骤。 7. **安全控制**:Smarty提供了一些内置的安全功能,比如对输出进行HTML转义,防止XSS攻击,以及...
其中,`{foreach}`是循环结构,`{$new.title}`等是变量输出,`|truncate:200`是应用了一个模板插件,用于截取内容的前200个字符。 5. 渲染与输出:最后,使用Smarty的`display`方法将模板渲染为HTML并发送到浏览器...
7. **插件系统**:Smarty 插件系统允许开发者创建自定义函数、块和修饰符,扩展模板功能。 8. **模板继承和布局**:通过使用模板继承,可以定义一个基础模板,其他模板继承并覆盖其中的部分内容,实现布局复用。 9...