自定义函数:
在lib/plugins中新建文件,命名方式是固定的:function.方法名称.php 或者
block.方法名称.php
1.
{literal}标签区域内的数据将按字面意思处理,代表性地是用在javascript/css语块周围,不然这些语言使用的花括号‘{’、‘}’会干扰模版定界符语法。{literal}{/literal}标签里面的所有符号不会被解释,全部按原样输出。
例如:在main.html代码中加入标签后:
运行结果:
2. {html_select_date}
自定义函数{html_select_date}用于创建日期下拉列表,它可以显示任意年月日。下述列表中没有说明的参数会在相应的年、月、日标签中以名/值的键值对形式显示出来。
显示界面:
加入参数后:
显示界面:
3.网上找的:颜色控件 function.color.php
(需要引入文件 jscolor.js)
1 <?php2
3 /**4 * 颜色控件5 *6 * @param $name 控件name7 * @param $value 选中值8 * 9 */
10 function smarty_function_color($args, $smarty) {11
12 $name = $args[\'name\'];13 $value = !empty($args[\'value\']) ? $args[\'value\'] : \'000000\';14
15 if(!defined(\'COLOR_INIT\')) {16 define(\'COLOR_INIT\', 1);17 $str= \'\';18
19 }20 $str .= \'\';21
22 return $str;23 }
View Code
在前端调用方法:
运行后:可任意选择
4.{block} 块: 编辑器(网上找的)
{block}{/block}成对出现
例如:
引入:block.textarea.php(还有ckeditor文件夹)
在前端调用方法:
//不加参数:
运行后:
//加参数:
运行后:
5. 练习自定义函数function:写方法将main.html 的类型改成显示具体内容
新建文件 function.typename.php
1 <?php2
3 //参数:1.$args数组,必须有
4 function smarty_function_typename($args)5 {6 //取传过来的code值
7 $code=$args["code"];8 if($code==0)9 {10 return "判断题";11 }12 else if($code==1)13 {14 return "单选题";15 }16 else
17 {18 return "多选题";19 }20 }
在前端调用方法: main.html
运行后:
6. 练习自定义函数block: 定义块函数来改变删除修改的样式
新建文件 function.typename.php(需要四个参数)
1 <?php2 //$args 是用户可以传入的参数 $a指函数是开始和结束
3 function smarty_block_fontstyle($args,$content,$smarty,$a)4 {5 $color=$args["color"];6 $size=$args["size"];7
8 //block函数会执行2次,在开始和结束标记时各执行一次9 //为防止重复执行,需要进行判断
10 if(!$a)//如果是结束标记执行的
11 {12 return "{$content}";13
14 }15 }
在前端调用方法: main.html
1
2
3
4 删除
5 修改
6
7
运行后:(中间操作时不小心删了一行数据)
7. 配置文件 :Config Files
在configs文件夹中新建文件,文件名以 .conf 结束 例如:test.conf
配置文件是通过内置函数{config_load}或API的configLoad()函数载入到模板的。
例子:在前端 main.html写一个div,利用配置文件改变它的样式:
在configs文件夹中新建文件 style.conf
在前端 main.html:
1.读取配置文件 :
2.引入变量用 :
如果:在style.conf定义了相同的样式,用块来区分,定义方式为:[块名]
在前端 main.html:给config_load 第二个变量 section