四、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}>为假

时间: 2024-12-30 03:43:09

四、smarty模板的自定义函数的相关文章

Smarty中的自定义函数(二)复选框、下拉列表、单选框

接Smarty中的自定义函数(一) 7.html_checkboxes 复选框 [php] view plain copy print? $ssss1 = array(2,3,4); $ssss2 = array('学习','工作','生活'); $ssss3 = array(2,4); $smarty->assign('ssss1',$ssss1); $smarty->assign('ssss2',$ssss2); $smarty->assign('ssss3',$ssss3); $s

Django 模板之自定义函数

我们已经知道了在Django的模板里面,可以使用for循环,if判断,接收后台的数据,还可以通过 extends和include来重复使用其他的模板,这一节来学习如何自定义函数. 模板里面有两种方式来自定义函数,分别是simple_tag和 filter方式. simple_tag: 1 首先在app下创建一个templatetags的目录,然后在这个目录下面创建一个py文件,注意这个目录的名字是固定的 2.  然后在这个py文件里面,导入模板类,实例化一个对象register,然后执行一个装饰

在ecshop模板使用自定义函数

可以增加自定义函数,在模板直接调用,例如: {$userId|get_user_name} 或 {$imgUrl|set_width_height:100:200} 案例一(处理图片): 1.模板里使用{$imgurl|getpic:100:200} 2.includes/lib_base.php里面增加函数 function getpic($str, $width, $height){ $len= stripos($str, '.'); if($len !== false){ $str= su

模板语言 自定义函数simple_tag

模板语言自带的一些处理函数:通过管道符来处理 帮助方法:{{ item.event_start|date:"Y-m-d H:i:s"}}  转换成日期时间型{{ bio|truncatewords:"30" }} 只取前30个字符{{ my_list|first|upper }} 将第一个字母大写{{ name|lower }} 全转换小写 有时我们须要自定义函数: a.在app中创建templatetags模块 b.创建任意 .py 文件,如:xx.py 1 2

python第十四课--排序及自定义函数之案例二:冒泡排序

案例二:冒泡排序 lt1=[45,12,56,-32,-3,44,75,-22,100] print('排序前:'+str(lt1)) 自定义函数:实现冒泡排序(升序)原则:1).有没有形参?有,接受一个列表对象 2).有没有返回值?没有,排完就排完 def bubbleSort(lt): length=len(lt) for i in range(length-1): for j in range(length-1-i): if lt[j]>lt[j+1]: lt[j],lt[j+1]=lt[

python第十四课--排序及自定义函数

1.排序 特点: 1).升序:从小到大 2).降序:从大到小 课堂实现选择排序:参看老郭选择排序.py文件 2.函数:(方法/method) 自定义函数: 概念:它表示一段作用范围(作用域),当中封装了一段业务逻辑代码,此范围有名字, 我们需要调用函数名,才能去执行它: 好处: 1).代码的复用性变强 2).代码的扩展性和维护性变好 3).代码的阅读性变好 函数有五要素: ①.函数修饰符:必须都是def开头 ②.函数返回值:函数执行完毕可能存在有返回值/没有返回值两种情况 ③.函数名:标识符(规

python第十四课--排序及自定义函数之案例一:选择排序

案例一:选择排序使用选择排序的思想实现列表数据的升序排序 lt=[45,12,56,-32,-3,44,75,-22,100] length=len(lt) # print('排序前:'+str(lt)) 使用嵌套循环来实现外层循环控制轮数,i可以认为是选中空间或者点 for i in range(0,length-1): #内层循环呢控制每一轮执行的次数,j可以认为是比较空间或箭头 for j in range(i+1,length): #判断两空间中的内容,如果选中空间比比较空间中的数据大,

smarty内建函数和自定义插件函数的使用

smarty模板里面需要用到一些他的内建函数,还有一些我们需要自定义的函数. 如:config_load file,smarty.server.SERVER_NAME等. 还有一些自定义函数:要我们利用最基本的结构自己去构建. 如下所示: <h1>内建函数</h1> <{foreach from=$var5 item=temp}> <{$temp}> <{/foreach}> <br/> <{foreach from=$var6

PHP Smarty 模板 自定义函数function和块函数block

自定义函数 function.yangA.php页面 采用插件形式调用 <?php /*  * 文件名    * function.函数名.php    function.yangA.php  * 声明的函数名规则  * smarty_function_函数名()  smarty_function_yangA  * 参数  * 1.数组 array  * 2.smarty  * 模板使用  * <{yangA content="I am Mr.Yang" color=&qu