Smarty模板常见的简单应用分析

时间:2021-05-02

本文实例分析了Smarty模板常见的简单应用。分享给大家供大家参考,具体如下:

首先要将smarty这个类包含进来:

? 1 include_once '../libs/Smarty.class.php';

然后创一个Smarty对象:

? 1 $smarty = new Smarty;

可以自定义Smarty 的开始结束符,默认为{ }

? 1 2 $smarty->left_delimiter ='<<'; //左符号为 << $smarty->right_delimiter='>>'; //右符号 为 >>

最重要方法的好像是assign,如:

? 1 2 $smarty->assign('test',$te); //将$test的值付给test,在模板页tpl中显示用{$test}

又如$arr=array(1,2,3);赋值仍是这样:

? 1 $smarty->assign('arr',$arr);

但在模板页显示时要借助foreach 或 section,foreach 用法如下:

? 1 2 3 4 {foreach item=item from=$arr key=ke name=foe} $item {/foreach} //此处的$item相当于$arr[$ke],foreach序列化{$smarty.foreach.foe.iteration}

而section 用法如下:

? 1 2 3 4 {section name='test' loop=$arr} {$smarty.section.name.iteration}//使输出序列化,序号从1开始,index从0开始 {$arr[test]} {/section}

最后最重要的一步操作千万不要忘记那就是:

? 1 $smarty->display('test.tpl');

下面说一些常用东西怎么样的在模板上显示

1.连接操作:

? 1 我叫{$str1|cat:"李白"};//输出结果就是:我叫 $str1 李白

2.当前日期:

? 1 {$str2|rdate_format:"Y%-m%-d%"} //输出结果格式化$str2日期,形如0000-00-00

3.缩进:

? 1 {$str3|indent:8:"*"} //$str3前缩进8个* 默认缩进的是空格

4.大小写:

? 1 2 {$str4|lower} //$str4的小写形式 {$str4|upper} //$str4的大写形式

过滤:

? 1 2 {$url|escape:"url"} //对$url相关特殊字符进行替换 <tr bgcolor='{cycle values="#EBEBEB,#ACABAB"}'>//tr背景交替 颜色分别为#EBEBEB,#ACABAB

匹配替换:

? 1 {$str|regex_replace:"~[0-9]~":"asd"} //如果$str匹配[0-9]输出asd

替换

? 1 {$str|replace:"net":"com"} //将$str中的net全部替换成com

包含头模板文件:

? 1 {include file="top.tpl"}

调用time.inc.php里面的函数:

? 1 2 3 {insert name="getCurrentTime" assign="current_time" script="time.inc.php"} 当前时间为{$current_time}; {/insert}

其中time.inc.php内容如下:

? 1 2 3 4 5 6 <?php function smarty_insert_getCurrentTime { return gmdate('l,j F Y g:i a T');//获得当前日期及时间 } ?>

联系:

? 1 2 mailto{ mailto address="contact@smartyllc.com" subject="Smarty LLC Contact" encode="javascript"}

载入test.conf:

? 1 2 {conf_load file="test.conf" section="test"} {#tt#}

test.conf内容如下:

? 1 2 [test] tt = 12122

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章