一、通过smarty方式调用变量调节器

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body> <!--显示当前时间戳-->
<{$smarty.now}> <!--调用调节器显示想要的时间格式-->
<{$smarty.now|date_format:"%Y-%m-%d %H-%M-%S"}> </body>
</html>

  分别显示:

  1498791289

   2017-06-30 04-54-49

 格式:变量 |  变量调节器的名称 :参数  (竖线和冒号)

二、通过自定义方式调用变量

为什么要自己写呢?因为调用变量调节器需要自己去手册找到参数,不如自己写好直接调用。

1、写一个时间的变量调节器

(1)在plugin文件夹中新建一个文件:modifier.time.php

<?php
//用来格式化时间日期
function smarty_modifier_time($str){
return date("Y-m-d H:i:s",$str);
}
?>

 (2)test.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body> <!--调用自定义的变量调节器-->
<{$smarty.now|time}> </body>
</html>

  显示效果:2017-06-30 05:06:53

什么时候用,就可以什么时候直接调取了,不用在找手册了呢

2、做一个截取字符串的变量调节器

(1)modifier.jiequ.php

<?php

function smarty_modifier_jiequ($str,$cd,$sl){
// 第一个参数:是传过来的变量,必须有
// 第二个参数:是截取多长
// 第三个参数:是要代替后面的省略符号 $str = substr($str,0,$cd);
return $str.$sl;
}
?>

 (2)12.php

<?php
header("content-type:text/html;charset=utf-8");
//引入smarty类
require "../init.inc.php"; //数组类型
$arr =array("one"=>"1111","two"=>"2222"); //注册变量
$smarty->assign("ceshi","我叫你好你叫遇见他叫断桥这是真的么"); $smarty->assign("haha","12345678901234567890"); $smarty->assign("nnn","abcdefghijklmnopqrstuvwxyz");
//显示
$smarty->display("test.html");
?>

  

(3) test.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body> <{$ceshi|jiequ:"12":"..."}> <{$haha|jiequ:"10":"..."}> <{$nnn|jiequ:"10":"..."}> </body>
</html>

 分别显示:

	我叫你好...

	123456789012...

	abcdefghijkl...

注意:汉字在php中相当于三个字符;所以当输出为汉字时要注意截取的长度:

 3、做一个与数据库相关的变量调节器(zhangsan------张三)

(1)12.php

<?php
header("content-type:text/html;charset=utf-8");
//先引入DBDA类
require "DBDA.class.php";
//引入smarty类
require "../init.inc.php"; //从订单表中找到用户名uid
$db = new DBDA();
$sql = "select uid from orders";
$arr = $db->query($sql); //将得到的uid注册
$smarty->assign("one",$arr[0]); $smarty->display("test.html");
?>

  

(2)modifier.uername.php

<?php
function smarty_modifier_username($str)
{
//无法直接调用DBDA类,所以采用最原始的方法
$sql = "select name from users where uid='zhangsan'";
$db = new mysqli("localhost","root","","book");
$result = $db->query($sql); $arr = $result->fetch_row();
return $arr[0];
}
?>

(3) test.html 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body> <{$one[0]|username}> </body>
</html>

 输出汉字:张三

可以做很多这样的自定义的调节器,便于以后调用~~

smarty模板自定义变量的更多相关文章

  1. Smarty模板快速入门

    文件下载 1.下载地址:http://www.smarty.net/ 2.我下载的版本是3.1.27 ,将下载的文件smarty-3.1.27.zip解压出来,然后将libs文件夹的所有文件复制到你的 ...

  2. smarty 模板标签

    smarty 模板标签 变量标签 数组变量标签 变量调节器 条件标签 循环标签 数组变量标签 模板加载标签 预定义变量标签 常量标签

  3. php教程之Smarty模板用法实例

    分享下php之Smarty模板的使用方法. 剖析了smarty模板的使用方法,对于学习smarty的朋友有一定的参考价值. 详情如下: 一.模板中的注释每一个Smarty模板文件,都是通过Web前台语 ...

  4. SMARTY模板中如何使用get,post,request,cookies,session,server变量

    {$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间戳.直接访问PHP中 ...

  5. Smarty模板变量调节器

    Smarty模板变量调节器用法 在smarty里面,怎么修饰文本和变量呢?当然,你可以通过php函数处理文本,然后再通过assign()方法分配到模板,其实smarty提供了变量调节器能够很容易的处理 ...

  6. 2016/04/29 smarty模板 1, 初步 目标 : 变量 运算符 表达式 流程控制 函数

    ① 从配置文件中读取配置: 1,在模板页面加载配置文件 html页面 不是php页面 <{config_load file='fo.conf'}> 2,在需要用到配置的地方加 <{# ...

  7. 四、smarty模板的自定义函数

    smarty模板的自定义函数(这里介绍的是常用) 分为三个种类: 1.  变量调节器 2.  函数 3.  块函数 三个种类插件的用法: 1.  变量调解器的用法, <{$var|myfun:a ...

  8. 第八十八天请假 PHP smarty模板 变量调节器,方法和块函数基本书写格式

    变量调节器 : 文件命名格式(modifier.名称.php)  前端调用方式<{变量|名称:参数:参数……}>可组合使用,用|隔开 <?php /* 命名格式 smarty_mod ...

  9. [smarty] 在smarty模板中使用smarty变量初始化 javascript 变量的问题

    // 总结:// 1/ 在smarty 模板文件中,使用从php中assign过来的smarty变量,一定需要使用双引号或单引号来括住smarty变量,如:var title="<!- ...

随机推荐

  1. Visual Studio 2013 IIS Express使用域名调试mvc程序

    1.编辑applicationhost.config文件 启动vs2013,在右下角IIS Express图标中右击,显示如图,点击框中菜单. 找到你的启动项,点击1,然后点击2,这是应该会有编辑器打 ...

  2. 【转】解决response.AddHeader("Content-Disposition", "attachment; fileName=" + fileName) 中文显示乱码

    如果fileName为中文则乱码.解决办法是 方法1: response.setHeader("Content-Disposition", "attachment; fi ...

  3. Fast Fourier Transform ——快速傅里叶变换

    问题: 已知$A=a_{0..n-1}$, $B=b_{0..n-1}$, 求$C=c_{0..2n-2}$,使: $$c_i = \sum_{j=0}^ia_jb_{i-j}$$ 定义$C$是$A$ ...

  4. JQuery模拟实现天猫购物车动画效果

    测试程序源代码下载地址:源码 一.功能描述: 1.点击购买按钮,模拟抛物线将物品弹到购物车里: 2.购物车添加物品后,显示+1动画: 效果图如下: 实现如下: 1.导入jquery相关的包: < ...

  5. 卸载XCode插件的方法

    1.Finder--前往---前往文件夹--输入~/Library/Developer/Xcode/Plug-ins 2.删除要卸载的插件即可.

  6. Elasticsearch与Solr

    公司之前有个用Lucene实现的伪分布式项目,实时性很差,后期数据量逐渐增大的时候,数据同步一次需要十几小时.当时项目重构考虑到的是Solr和ES,我参与的是Solr技术的预研.因为项目实时性要求很高 ...

  7. 用R语言做数据清理(详细教程)

    数据的清理 如同列夫托尔斯泰所说的那样:“幸福的家庭都是相似的,不幸的家庭各有各的不幸”,糟糕的恶心的数据各有各的糟糕之处,好的数据集都是相似的.一份好的,干净而整洁的数据至少包括以下几个要素: 1. ...

  8. 在vue-cli搭建的项目中增加后台mock接口

    用vue-cli搭建一个前端开发环境确实是极其方便,在写前端代码肯定也是少不了需要调用后台提供的业务接口进行前后端交互,特别在敏捷开发中,前后端都要提前确定业务接口并进行打桩,在开发过程中基本是没有现 ...

  9. springboot redis 缓存对象

    只要加入spring-boot-starter-data-redis , springboot 会自动识别并使用redis作为缓存容器,使用方式如下 gradle加入依赖 compile(" ...

  10. 如何运行容器?- 每天5分钟玩转 Docker 容器技术(22)

    上一章我们学习了如何构建 Docker 镜像,并通过镜像运行容器.本章将深入讨论容器:学习容器的各种操作,容器各种状态之间如何转换,以及实现容器的底层技术. 运行容器 docker run 是启动容器 ...