smarty变量调节器与函数
smarty自带了一些变量调节器与内置函数,都在libs/plugins目录下,变量调节器以modifier开头,函数以function开头,而且我们可以自定义变量调节器与函数,熟练运用之后会极大地提高我们的开发效率。
一、格式
自定义的时候必须严格按照smarty提供的书写格式:
1.自定义变量调节器:
文件名格式:modifier.方法名.php,如:modifier.fontcolor.php
方法格式:function smarty_modifier_方法名(参数,参数……){ 方法 },如:function smarty_modifier_fontcolor($str,$color='green'){}。
注意:文件名格式与方法格式的方法名一定要相同。
2.自定义函数:
文件名格式:function.方法名.php,如:function.fontcolor.php
方法格式:function smarty_function_方法名(参数,参数……){ 方法 },如:function smarty_function_fontcolor($args,$smarty){}。
注意:文件名格式与方法格式的方法名一定要相同。
二、应用示例
变量调节器在使用时用"|"分隔,变量在前,变量调节器在后面,参数用":"调用
1.capitalize: 使变量内容里的每个单词的第一个字母大写,两个布尔型参数,默认均为false,第一个为true,则将带数字的单词首字母大写,第二个为true,则将单词内其他字母变为小写
- <?php
- $smarty->assign("articleTitle","next x-men film x3 deLayed");
- ?>
模板:
- <{$articleTitle}><br />
- <{$articleTitle|capitalize}><br />
- <{$articleTitle|capitalize:true}><br />
- <{$articleTitle|capitalize:true:true}><br />
输出:
next x-men film x3 deLayed
Next X-Men Film x3 DeLayed
Next X-Men Film X3 DeLayed
Next X-Men Film X3 Delayed
2.lower:将变量值转成小写字母;upper: 将变量值转成大写字母。
- <?php
- $smarty->assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While.");
- ?>
模板:
- <{$articleTitle}><br />
- <{$articleTitle|upper}><br />
- <{$articleTitle|lower}>
输出:
If Strike isn't Settled Quickly it may Last a While.
IF STRIKE ISN'T SETTLED QUICKLY IT MAY LAST A WHILE.
if strike isn't settled quickly it may last a while.
3.truncate: 截取字符串到指定长度,默认长度是80. 第二个参数可选,指定了截取后代替显示的字符。 截取后的字符长度是截取规定的长度加上第二个参数的字符长度。 默认truncate
会尝试按单词进行截取。如果你希望按字符截取(单词可能会被截断),需要设置第三个参数TRUE
。
- <?php
- $smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.');
- ?>
模板:
- <{$articleTitle}><br />
- <{$articleTitle|truncate}><br />
- <{$articleTitle|truncate:30}><br />
- <{$articleTitle|truncate:30:""}><br />
- <{$articleTitle|truncate:30:"---"}><br />
- <{$articleTitle|truncate:30:"":true}><br />
- <{$articleTitle|truncate:30:"...":true}><br />
- <{$articleTitle|truncate:30:'..':true:true}>
输出:
- Two Sisters Reunite after Eighteen Years at Checkout Counter.
- Two Sisters Reunite after Eighteen Years at Checkout Counter.
- Two Sisters Reunite after...
- Two Sisters Reunite after
- Two Sisters Reunite after---
- Two Sisters Reunite after Eigh
- Two Sisters Reunite after E...
- Two Sisters Re..ckout Counter.
4.复合变量调节器:
你可以联合使用多个修饰器。 它们会按复合的顺序来作用于变量,从左到右。 它们必须以|
(竖线)进行分隔。
- <?php
- $smarty->assign('articleTitle', 'Smokers are Productive, but Death Cuts Efficiency.');
- ?>
模板:
- <{$articleTitle}><br />
- <{$articleTitle|upper|fontcolor|truncate}><br />
输出:
Smokers are Productive, but Death Cuts Efficiency.
SMOKERS ARE PRODUCTIVE, BUT DEATH CUTS...
smarty变量调节器与函数的更多相关文章
- smarty 变量调节器
变量调节器:<{$a|变量调节器}> 了解更多可以查询smarty手册 主要修改此页面的信息来了解变量调节器:main.php/main.html(0603) 1.利用给定的变量调节器 c ...
- 6月5 Smarty变量调节器
变量调节器:<{$a|变量调节器}> 主要修改此页面的信息来了解变量调节器:test0605/main.php和模板文件:main0605.html 1.利用给定的变量调节器 capita ...
- smarty变量调节器
smarty中变量调解器的作用:在模板中需要对PHP分配过来的变量在输出之前,对变量进行处理 注册变量调解器方式:$smarty->registerPlugin("modifier&q ...
- smarty变量调节器案例
要求: 如下图,有内容的每一行,当鼠标放上去显示灰色区域,当鼠标离开灰色区域消失
- 第八十八天请假 PHP smarty模板 变量调节器,方法和块函数基本书写格式
变量调节器 : 文件命名格式(modifier.名称.php) 前端调用方式<{变量|名称:参数:参数……}>可组合使用,用|隔开 <?php /* 命名格式 smarty_mod ...
- Smarty模板变量调节器
Smarty模板变量调节器用法 在smarty里面,怎么修饰文本和变量呢?当然,你可以通过php函数处理文本,然后再通过assign()方法分配到模板,其实smarty提供了变量调节器能够很容易的处理 ...
- smarty学习——变量调节器(过滤器)
变量调节器用于变量,自定义函数和字符串. 请使用 | 符号和调节器名称应用调节器.变量调节器由赋予的参数值决定其行为.参数由:符号分开. 比如进行大写转换的: upper demo: <br&g ...
- smarty 模板几个例子(变量调节器)
一.assign和display方法的使用以及几个变量调节器 header("content-type:text/html;charset=utf-8");//加载Smarty引擎 ...
- 四、smarty模板的自定义函数
smarty模板的自定义函数(这里介绍的是常用) 分为三个种类: 1. 变量调节器 2. 函数 3. 块函数 三个种类插件的用法: 1. 变量调解器的用法, <{$var|myfun:a ...
随机推荐
- windows2008,命令行远程登录
命令行强制开启3389服务支持server2008和2003 1.C:\Windows\System32\wbem\wmic /namespace:\\root\cimv2\terminalservi ...
- IOS设计模式浅析之单例模式(Singleton)
说在前面 进入正式的设计模式交流之前,扯点闲话.我们在项目开发的过程中,经常会不经意的使用一些常见的设计模式,如单例模式.工厂方法模式.观察者模式等,以前做.NET开发的时候,认真拜读了一下程杰老师的 ...
- thinkphp5中的一些关于命名空间的tisp
1.thinkphp5中公共函数文件common中,不需要use,也可以直接使用vendor中的类文件. 2.在类前面的反斜杠作用是,直接使用最外层的命名空间,有时不想use某个X类,却想使用X类时, ...
- MAC下一些常用的命令行
统计了一下工作中一些会常用到的简单命令,加强记忆 ls 查看当前终端目录下面的文件 ls -a "ls -a"会出现一些带.xxxx的文 ...
- Android开发教程:shape和selector的结合使用(转载)
shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector.可以这样说,shape和 ...
- Eclipse 编译项目
Eclipse 编译项目 编译 Java 项目 一个项目可以关联多个编译器. java 项目关联的是 java 编译器.可以通过以下方式来查看项目关联的编译器: 在 Package Explorer ...
- linux grep sed awk
$ grep ‘test’ d* 显示所有以d开头的文件中包含 test的行. $ grep ‘test’ aa bb cc 显示在aa,bb,cc文件中匹配test的行. $ grep ‘[a-z] ...
- sqoop-1.4.4安装配置
环境:redhat6.5 hadoop2.4.1 感谢: http://wenku.baidu.com/view/a9083da8dd3383c4bb4cd274.html注释hbase检查 感谢: ...
- ios --也是在B页面的生命周期设置如下代码。方法一是直接关闭和激活侧滑手势,方法二则是B遵循协议UIGestureRecognizerDelegate,设置侧滑交互代理,重写手势方法。
@property (weak, nonatomic) id<UIGestureRecognizerDelegate> restoreInteractivePopGestureDelega ...
- OpenCV学习笔记九:opencv_stitching模块
一,简介: 该库用于图像拼接.