四、smarty模板的自定义函数
smarty模板的自定义函数(这里介绍的是常用)
分为三个种类:
1、 变量调节器
2、 函数
3、 块函数
三个种类插件的用法:
1、 变量调解器的用法,
<{$var|myfun:arg1:arg2}>
2、 函数的用法(和使用HTML标记很像)
如,
<{myfun color=”red” size=”7” num=”7”}>
在PHP中定义的函数为:
$smarty->registerPlugin(“function”,”myfun”,”one”); function one($args,$smarty){} //$args为color=”red” size=”7” num=”7”这些参数组合起来的关联数组,第二个参数是自动接收$smarty对象的,如果不用可不写
3、 块函数的用法,
如,
<{myfun color=”red” size=”7”}>内容<{/myfun}>
在PHP中定义的函数为:
$smarty->registerPlugin(“block”,”myfun”,”two”) Function two($args,$content,$smarty){} //$args为color=”red” size=”7”这些参数组合起来的关联数组,第二个参数是要显示的”内容”,第三个参数是$smarty对象
有两种做法:
1、 使用smarty对象中的registerPlugin()方法将PHP中的函数注册成smarty中的函数。
2、 就是开发的smarty的插件(以独立的特定文件添加插件)
1) 声明的位置
可以在smarty类库中的原有Plugins目录下创建,也可以使用自己指定的目录$smarty->addPluginsDir(目录) //smarty3中
2) 文件的命名
修改器,modifier.修改器名称.php
函数, function.函数名称.php
块函数,block.块函数名称.php
3) 函数的命名
修改器,smarty_modifier_修改器名称()
函数, smarty_function_函数名称()
块函数,smarty_block_块函数名称()
4) 参数的规则
修改器,smarty_modifier_修改器名称($var,$arg1,$arg2,$arg3)
函数, smarty_function_函数名称($args,$smarty)
块函数,smarty_block_块函数($args,$content,$smarty,$repeat)
//$repeat参数防止块函数被重复调用,及第一次调用为真,以后为假
//<{myfun color=”red” size=”7”}>内容<{/myfun}>,第一次myfun为真,第二次<{/myfun}>为假
四、smarty模板的自定义函数的更多相关文章
- 在ecshop模板使用自定义函数
https://blog.csdn.net/shaolinld/article/details/46400485 在ecshop模板使用自定义函数 可以增加自定义函数,在模板直接调用,例如: {$us ...
- 模板语言 自定义函数simple_tag
模板语言自带的一些处理函数:通过管道符来处理 帮助方法:{{ item.event_start|date:"Y-m-d H:i:s"}} 转换成日期时间型{{ bio|trunc ...
- python第十四课--排序及自定义函数之自定义函数(案例五)
演示函数的定义和使用细节: 默认参数:#在设计自定义函数的时候,就存在一个默认值,就算在调用的时候不显示的传入实参,也不会报错.#会用默认值来代替参与后期的运算 def m1(name='张三',ag ...
- python第十四课--排序及自定义函数之自定义函数(案例四)
整理:4中最常见的自定义函数模型1).无参无返回值2).无参有返回值3).有参无返回值4).有参有返回值 #定义无参无返回值自定义函数 def func1(): print('hello method ...
- python第十四课--排序及自定义函数之自定义函数(案例二)
案例二: python中定义有/无返回值的函数,演示python没有函数重载这一说 需求:自定义函数:计算两个整数的和值两个原则:1).有没形参有,两个 2).有没返回值可有可无 def my_sum ...
- python第十四课--排序及自定义函数之自定义函数(案例一)
案例一: 演示自定义函数的使用:包含:1).定义格式的掌握2).函数的好处 自定义函数:实现打印矩形的操作两个原则需要考虑:1).有没有形参?有,2个 2).有没有返回值?没有. def printR ...
- python第十四课--排序及自定义函数之案例二:冒泡排序
案例二:冒泡排序 lt1=[45,12,56,-32,-3,44,75,-22,100] print('排序前:'+str(lt1)) 自定义函数:实现冒泡排序(升序)原则:1).有没有形参?有,接受 ...
- python第十四课--排序及自定义函数
1.排序 特点: 1).升序:从小到大 2).降序:从大到小 课堂实现选择排序:参看老郭选择排序.py文件 2.函数:(方法/method) 自定义函数: 概念:它表示一段作用范围(作用域),当中封装 ...
- Django 笔记(四)模板标签 ~ 自定义过滤器
模板标签: 标签在渲染的过程中提供任意的逻辑 语法: 由{% ... %} 和 {% end... %} 常用标签: with:类似取别名 模版继承: Django模版引擎中最强大也是最复杂的部分就是 ...
随机推荐
- wex5 页面跳转
页面交互: 3种方法: 1.使用Shell提供的方法 打开另一个页面不需要等待页面返回 功能树上打开 2. 用windowDialog组件 需要等待页面返回 3.内嵌页 windowContainer ...
- vscod插件
Babel JavaScript Code Runner Debugger for Chrome ESLint HTML CSS Support HTML Snippets background J ...
- javaScript基本使用api
基本方法 isArray() 判断数组 isArray() 方法用于判断是否是数组(有兼容性) 语法:Array.isArray(arr) 返回值:是数组,返回true.不是数组,返回false. i ...
- Nginx编译参数详解
Nginx编译参数 1.当我们安装好nginx后,输入命令 nginx -V 可以看到nginx的编译参数信息,例如 如下图 2. 编译参数如下图 # Nginx安装目的目录或路径 --prefix ...
- vue 内存数组变化监听
watch: { carts: { handler(val, oldVal) { subtotal(this.carts); console.log(this.carts) }, deep: true ...
- PAT Basic 1010 一元多项式求导 (25 分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小 ...
- ie浏览器css兼容样式实例
background-color:#f00;/*all*/background-color:#0ff\0;/* ie 8/9 */background-color:#0f0\9\0;/* ie9 */ ...
- **JAVA参数传递方式 (按值传递与引用传递区别)
https://blog.csdn.net/q5706503/article/details/82910428public class TestMain { public static void ma ...
- Javascript实现图片点击弹出
一直想给安装一个缩略图点击弹出的插件,但是找了找几乎都是用的php来做的,插件的使用和安装极其繁琐,于是上网查了些demo,自己实现了一个纯js的图片弹出插件. 实现的思路是通过编写hook图片的on ...
- 阻止默认/冒泡事件(兼容ie)
(1) 阻止默认事件 function(e){ if(e && e.preventDefault){ e.preventDefault(); }else{ //IE window.ev ...