smarty模板引擎中自定义函数的方法
本文实例讲述了smarty 自定义函数方法,分享给大家供大家参考。具体如下:
本实例目的:输出 times 次 con的内容(输出4次hello world)
文件1:
<?php
//创建smarty对象
require_once("./libs/Smarty.class.php");
$smarty = new Smarty();
//自定义一个函数
//说明:(1)、$arr为一个数组;(2)、tpl调用形式{test times="4" size="5" con="hello,world" color="red"}
function test($arr){
$str = "";
for($i=0;$i<$arr['times'];$i++){
$str .= "<font size='".$arr['size']."' color='".$arr['color']."'>".$arr['con']."</font>";
}
return $str;
}
//注册函数 registerPlugin
$smarty->registerPlugin("function","test","test");//第二个参数是模板文件调用的函数名称,可变;第三个参数是上面自定义的函数名称;相应于一个对应关系
$smarty->display("temp.tpl");
?>
模板文件:temp.tpl
<html>
<h2>smarty自定义函数的使用</h2>
{test times="3" con="hello world" size="3" color="green"}
</html>
注意:smarty 3.1.8 已经不支持注册函数 register_function,应换成 registerPlugin
希望本文所述对大家的php程序设计有所帮助。
相关推荐
-
模板引擎smarty工作原理以及使用示例
模板引擎是用于把模板文件和数据内容合并在一起的程序,便于网站开发有利于代码分离和维护,了解一个模板最好知道其工作原理,以便于实现一通万通. 模板文件一般是HTML xml js等类型文件,如果不用模板引擎若要把数据显示在网页上,我们需要在php中输出HTML,而使用模板则只要把数据交给模板引擎程序即可,然后告诉它用哪个模板文件,自然就会把数据和页面结合以后返回或输出,模板至少有以下功能1.把数据提供给模板引擎的功能.2.指定模板的功能.3.输出结果的功能.一般来说为了方便程序员们使用模板引擎,开
-
smarty模板数学运算示例
本文实例讲述了smarty模板数学运算用法.分享给大家供大家参考,具体如下: {* $height=4, $width=5 *} {math equation="x + y" x=$height y=$width} 输出: 9 {* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *} {math equation="height * width / division" h
-
解析smarty模板中类似for的功能实现
1. 功能说明,在页面使用smarty循环100次输出,类似for循环100次{section name=total loop=100}{$smarty.section.total.index+1} //当前的索引{$smarty.section.total.iteration} //用于显示循环的次数{/section} {assign var=i value=0}{section name=total loop=100}{assign var=i value=$i+1} {$i} /
-
编写Smarty插件在模板中直接加载数据的详细介绍
之前使用smarty的时候,通常是在php程序端读取数据(一般从数据库),然后assign给模板的变量,才可以在前端使用这个变量.这样不是不好,只是数据多的时候php端的代码维护起来有点麻烦,特别是当存在很多模板块化得数据时. 所以写了个插件,结合之前的crud类实现在前端模板可以加载一些模块化得数据. 复制代码 代码如下: <?php/** * Smarty plugin * @package Smarty * @subpackage plugins *//** * Smarty {load_
-
ThinkPHP使用smarty模板引擎的方法
ThinkPHP支持多种php模板引擎,可以根据个人需要加以配置. 下面我们以Smarty模板引擎为例,给大家说说具体的操作流程! 首先去Smarty官网上下载一个Smarty.本站下载地址:http://www.jb51.net/codes/16086.html. 接下来解压压缩包,会有两个文件夹:demo和libs.打开libs文件夹,复制所有内容. 接下来,打开你网站根目录 下thinkphp的文件夹.里面有个vendor文件夹,这个文件夹是TP调用第三方类库用的,把刚才复制的东西全部粘贴
-
在PHP模板引擎smarty生成随机数的方法和math函数详解
这个当然绝对是可行的,但过于复杂,下面作者就如何直接在smarty模板中生成随机数这个小技巧和大家分享一下. 现在假设在smarty模板中需要生成一个125-324之间的随机数,那么可以按如下写法: 复制代码 代码如下: {math equation=rand(125,324)} 这样就实现了我们的目的了,怎么样?是不是很简单,其实这里主要用到了smarty模板中的math函数,下面对Smarty math函数的作用以及用法做个简要的讲解. math 允许模板设计者在模板中进行数学表达式运算.
-
php Smarty模板生成html文档的方法
下面直接发代码 复制代码 代码如下: <?php /* file:config_smarty.php done:配置Smarty author:www.5dkx.com date:2009-12-21 */ include_once("../libs/smarty.class.php"); class MySmarty extends Smarty{ function __construct() { $this->Smarty(); $this->config_dir
-
PHP模板引擎Smarty的缓存使用总结
这里我们将分析一下如何开启和使用smarty缓存,如何清除smarty缓存以及smarty的全局缓存,部分缓存,局部缓存三种缓存机制. 一.开启和使用smarty缓存 要开启smarty的缓存,只需在smarty设置参数里面将caching设为true,并指定cache_dir即可.同时设置cache_lefetime参数指定缓存生存时间(单位为秒).如果要对相同页面生成多个不同的缓存,可以在display或fetch中加入第二参数cache_id,如: 复制代码 代码如下: $smarty->
-
smarty模板中拼接字符串的方法
PHP页面传到Smarty模板上的变量(这里用,在Smarty上创建两个变量代替) 复制代码 代码如下: {assign var="name" value='Richard.Lee'}{assign var="age" value='27'} 1.想要在Smarty模板的某个位置输出(Richard.Lee---27)拼接方法:{$name|cat:"---"|cat:$age}解释:将变量$name."---".$age 拼
-
在smarty模板中使用PHP函数的方法
sample1 复制代码 代码如下: <{$colname|trim}> 那如果使用像iconv这样的有三个参数的函数该怎么写呢?如果写成: sample 2 复制代码 代码如下: <{$colname|iconv:'utf-8':'gbk'}> 一执行就会发现显示error信息. 因此研究一下就会发现,起始在smarty模板页的套用函数用法中,以smaple 1来说,trim的前面$Row->colname其实就是trim的第一个参数,中间用|这个符号串接: 那假设要使用像
-
Smarty模板快速入门
在PHP的世界里已经出现了各式各样的模板类,但就功能和速度来说Smarty还是一直处于领先地位,因为Smarty的功能相对强大,所以使用起来比其他一些模板类稍显复杂了一点.现在就用30分钟让您快速入门. 一. 安装 首先打开网页http://smarty.php.net/download.php,下载最新版本的Smarty.解压下载的文件(目录结构还蛮复杂的).接下来我演示给大家一个安装实例,看过应该会举一反三的. (1) 我在根目录下建立了新的目录learn/,再在learn/里建立一
随机推荐
- 学习php分页代码实例
- "automation服务器不能创建对象”的问题的解决方案总结大全
- JavaScript必知必会(十) call apply bind的用法说明
- JS中数组重排序方法
- js 获取后台的字段 改变 checkbox的被选中的状态 代码
- GridView导出Excel实现原理与代码
- php中防止伪造跨站请求的小招式
- 在MySQL中增添新用户权限的方法
- Python Paramiko模块的安装与使用详解
- css 之 background-position-x
- java 判断两个对象是否为同一个对象实例代码
- 国外的为初学者写的JavaScript教程
- 深入分析MSSQL数据库中事务隔离级别和锁机制
- SQL Server 数据库自动执行管理任务
- MySQL学习笔记3:表的基本操作介绍
- PHP取得一个类的属性和方法的实现代码
- jquery 轮换显示 第一小个例子
- js的OOP继承实现(必看篇)
- 给所有的超级练级都加上onmousemove时间的js代码
- 微信小程序 高德地图SDK详解及简单实例(源码下载)