播客php就业班-2013smarty模板技术lesson_第1页
播客php就业班-2013smarty模板技术lesson_第2页
播客php就业班-2013smarty模板技术lesson_第3页
播客php就业班-2013smarty模板技术lesson_第4页
播客php就业班-2013smarty模板技术lesson_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Smarty一、内建函数Smarty 函数-插件内建函数自定义函数sysplugins plugins不允许修改可以修改1、capture捕获一段内容,但不输出语法:capture name=var内容/capture Name:将内容保存到指定的变量中$smarty.capture.var在模板中,需要反复输出的大量内容,可以考虑使用 capture 捕获。2、config_load加载配置文件config_loadfile=“file”section=“section”file:配置文件名称section:哪个配置节 可选参数语法:#var#$smarty.config.var3、fore

2、ach,foreachelse用于遍历数组语法:foreach from=数组 key=键 name=名称 item=内容 foreachelse 当要遍历的数组没有任何元素时,执行 foreachelse 后面的语句/foreachFrom:要遍历的数组 Item:遍历到的键值 Key:遍历到的键名 Name:为foreach 语句命名Foreach 内置变量$.index :索引从 0 开始$.iteration:索引从 1 开始$.:当第一次执行循环时,该值为true$sma

3、.last :当最后一次执行循环时,该值为true$.total :循环总数Smarty3.0 中,将foreach 语句进行了升级语法:foreach $myarray as $key = $value$valueiteration$valueindex$value$valuelast$valuetotal/foreach4、include另一个模板文件include file=“file” assign=“var”var . File:要引入的模板文件Assign:将结果保存,但本次不输出var :可选参数,为模板文件传

4、参5、include_包含一个文件 include_file=“file” assign=“var”once=“true|false”File:要引入的文件Assign:保存输出结果,但本次不输出Once:是否只包含一次true:是false:否这个函数在 smarty2.6 中是可用的,但在 3.0 中将这个函数移除,如果还想使用这个函数,可以SmartyBC.class.这个类文件6、insert在模板中,执行一个函数语法: insert name=“func” Name :被调用的var . 函数名var . :调用函数时指定参数可选参数Insert 和 include_ SmartyB

5、C.class.是同样的。都是 2.6 中的函数,在 3.0 中,将这个功能放到这个文件中了。注意:inser的函数的名称必须以insert_为前缀7、if elseif elseifelseifelse/if8、ldelim 、rdelim 模板中的 的转义符ldelimrdelim9、literalliteral 标记中间的内容不会被smarty 所literal/literal10、可以在一对标记中写代码/这个功能,目前放到了SmartyBC.class.文件中11、section,sectionelsesection 是一种循环结构语句,主要用于遍历数组语法:section name=

6、名称 loop=循环数组(次数)大循环次数sectionelse/sectionstart=开始(0) step=步阶(1)max=最Name:为section 语句命名Loop:循环数组 必选必选Start:开始索引默认值:0Step:步长 默认值:1 Max:最大循环次数默认值:总长度Foreach 和section 的区别:Foreach 是指直接对一个数组进行遍历Section 是一种循环语句,它的循环次数由数组个数决定Section 在遍历数组是有的选择性section 的内置变量$.index 循环索引$.

7、index_prev 上一次循环索引$.index_next 下一次循环索引$.iteration 循环索引从 1 开始$.|last第 1 次和最后一次执行时这两个值为true循环总次数$.total12、strip去除前后连续空格语法:strip/strip二、自定义函数1、assign创建模板变量assign var=“var” value=“value” Var :指定变量名称 Value:指定变的值2、counter计数器语法:cou

8、nter start=0 skip=2 pr Start:开始的值=falseSkip:步长默认为 1Pr:本次是否输出3、cycle实现轮转 Values:要轮转的值的列表4、debug开启调试窗口语法:debug5、eval 计算变量的值语法:eval var=#ErrorSe# assign=se_errorVar:要计算的变量名 Assign:保存结果,但本次不输出6、fetch文件内容并输出fetch file=“file” assign=“var” File:文件名 Assign:保存结果本次不输出7、html_image 在页面中,打印一张html_image file=pump

9、kin.jpgFile:地址8、html_table将数组元素显示到表格中(只适用于简单数组)html_tableloop=$dols=4必添table_attr=border=0Loop:要遍历的数组Cols:每行显示多少个格 Table_atr:表格属性默认是三个9、html_checkboxes打印一组复选框html_checkboxesvalues=$cust_ids output=$cust_names separator=checked=$customer_idValues:值的数组 Checked:被选中项的值的数组 Output:文本的数组Separator:分隔符每个复选项之

10、间的分隔Name:为这组复选框命名注意:smarty 会自动加上,表示是数组模板代码:代码:10、html_options打印一组option用于 select 元素html_options values=$cust_idsselected=$customer_idoutput=$cust_names文本Values:值的数组 Output:文本的数组 Selected:被选中项的值11、html_radios 打印一组单选按钮语法:html_radiosvalues=$cust_idschecked=$customer_idoutput=$cust_namesseparator=Values

11、:值的数组 Output:文本的数组 Separator:分隔符 Checked:被选项中的值三、配置文件配置文件有利于设计者管理文件中的模板全局变量。最简单的例子就是模板色彩变量。一般情况下你如果想改变一个程序的外观色彩,你就必须通过去更改每一个文件的颜色变量。如果有这个配置文件的话,色彩变量就可以保存在一个地方,只要改变这个配置文件就可以实现你色彩的更新。配置文件:在上题中,config1 中的bgcolor 与全局bgcolor 重名,以局部的bgcolor 为标准Config1 中并没有fgcolor 变量,所以执行了全局中的fgcolor 变量的值程序设计一、常量SMARTY_DIR

12、二、变量$template_dir :模板路径$compile_dir :编译路径$config_dir :配置文件路径$cache_dir :缓存文件路径$left_delimiter :左分隔符$right_delimiter :右分隔符$caching :是否开启缓存public $caching = false;默认是开闭缓存的,可以直接设置为 true,开启缓存功能$cache_lifetime :缓存的有效时间(生命周期)public $cache_lifetime = 3600;默认是 3600 秒,$debugging开启调试窗口开启调试窗口共有两种方式:在模板中,使用debu

13、g在程序中,使用$smarty-debugging=true程序中开启:可以看到为模板分配的变量模板中开启:为模板分配的变量,模板自定义的变量$_handling :在 smarty2.6 中,如果想使用标记,必须将此选项的值设置为true三、方法assign:为模板分配变量assignByRef :为模板分配变量 (按传递)append:追加模板变量到一个数组中appendByRef :追加模板变量到一个数组中 (按传递)clearAllAssign清除所有已赋值变量clearAssign清除指定的已赋值变量clearCache清除缓存configLoad 加载配置文件在smarty 中,加

14、载配置文件两种方法:在模板中 config_load file=.在程序中 $smarty-configLoad($file,$section)clearConfig清除所有配置文件变量display、替换、输出fetch、替换、返回templateExists :判断模板是否存在尝 试 加 载 一 个 不 存 在 的 模 板 会 报 错 , 在 显 示 之 前 应 该 判 断assign 和assignByRef 的区别:Display 和fetch 的区别:四、过滤器过滤器就是用于过滤数据1、过滤器的种类:预过滤器后过滤器输出过滤器Prefilterstfilters Output Filters根据触发时间的不同,划分出以上三种过滤器2、工作流程tpl 源文件 =Prefilter =编译tpl 文件 =tfilter =保存到磁盘= 编译过的文件执行=Output Filters(=如果有 smarty cache 的话,Output Filters 的内容会缓存) =结果输出。3、过滤器在Smarty 中,过滤器在使用之前必须在 2.6 中,过滤器Prefilters$smarty-register_prefilter(“func”);tfilters$smarty-register_tfi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论