关于PHP模板Smarty的初级使用方法以及心得分享


Posted in PHP onJune 21, 2013

至于怎么配置,这里就不用多说了,网上一大堆。
1.基本上要用到的最主要的方法就是assign和display方法。
2.基本上在页面上要用到的知识就是if和foreach和section这三个。
3.基本上最难的就是foreach和section。
4.初学的时候老是循环不出自己想要的数据。因为感觉还是跟php啊java啊这些的foreach和for都有些差别的。很难抓住他的活动路径,很难调试他的数据。
5.所以这里,我把一点点经念放出来:
如果数据是这样:

array(0=>array('id'=>'1111','content'=>'2222'));那么foreach循环
{{foreach from=$exam item=item key=k}}
{{$item.content}}
{{/foreach}}

就可以了,但是如果是array('id'=>'1111','content'=>'2222')这样,就不可以这样循环了,需要这样:
{{foreach from=$exam item=item key=k}}
{{if $k eq 'content'}}
         {{$item}}
{{/if}}
{{/foreach}}

这里如果不了解eq是什么意思,可以网上搜下,下面我把这个给稍微罗列下:
eq相等,
ne、neq不相等,
gt大于,
lt小于,
gte、ge大于等于,
lte、le 小于等于,
not非, mod求模。
is [not] div by是否能被某数整除,
is [not]even是否为偶数,
$a is [not] even by $b即($a / $b) % 2 == 0,
is [not] odd是否为奇

6.在smarty的模板里面如果要使用php代码,这样:
{{php}}$a = "gayayang"; echo $a;{{/php}}
这样就可以在模板里面使用php代码了。

7.在smarty里面引用文件:
可以用上面的办法:{{php}}include "config.php";{{/php}}
或者专业一点:{{include file="config.php"}}
两个方法都可以实现。下面的比较专业点,推荐。

8.有个这样的方法:$smarty->fetch("mytemplate.html");
fetch和display都是渲染模板用的.fetch可以将渲染后的整个模板以字符串的形式赋值给一个变量,可以用作生成静态页用

现在知道这个怎么用了吧,他可以返回文件的内容给一个变量,那这个就非常有用咯。呵呵
使用fetch函数,你可以将要输出的html赋值给一个变量,可以对里面的数据进行一些输出,再将他输出。
smarty中的display方法,实际上调用的就是fetch,只不过是直接将他显示出来而已,而fetch默认是不显示,返回给一个变量的。

基本上也就这么些了,以后有补充了再来写吧。呵呵

PHP 相关文章推荐
vBulletin HACK----关于排版的两个HACK
Oct 09 PHP
使用adodb lite解决问题
Dec 31 PHP
实现了一个PHP5的getter/setter基类的代码
Feb 25 PHP
深入php函数file_get_contents超时处理的方法详解
Jun 03 PHP
如何利用PHP执行.SQL文件
Jul 05 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
May 08 PHP
Codeigniter注册登录代码示例
Jun 12 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
Jun 30 PHP
php递归删除目录与文件的方法
Jan 30 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
Dec 17 PHP
php for 循环使用的简单实例
Jun 02 PHP
php实现获取近几日、月时间示例
Jul 06 PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 #PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
Jun 21 #PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
Jun 21 #PHP
解析PHP中intval()等int转换时的意外异常情况
Jun 21 #PHP
解析zend studio中直接导入svn中的项目的方法步骤
Jun 21 #PHP
解析coreseek for sphinx的使用
Jun 21 #PHP
关于使用coreseek并为其做分页的介绍
Jun 21 #PHP
You might like
php正则表达式使用的详细介绍
2013/04/27 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
点图片上一页下一页翻页效果
2008/07/09 Javascript
jQuery 1.2.x 升? 1.3.x 注意事项
2009/05/06 Javascript
jQuery插件 tabBox实现代码
2010/02/09 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
原生js实现半透明遮罩层效果具体代码
2013/06/06 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
js倒计时抢购实例
2015/12/20 Javascript
AngularJS 使用 UI Router 实现表单向导
2016/01/29 Javascript
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
浅析vue-router中params和query的区别
2019/12/24 Javascript
vue使用openlayers实现移动点动画
2020/09/24 Javascript
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
python中map、any、all函数用法分析
2015/04/21 Python
Python 存储字符串时节省空间的方法
2019/04/23 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
2021/01/10 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
华为菲律宾官方网站:HUAWEI Philippines
2021/02/23 全球购物
PHP面试题-$message和$$message的区别
2015/12/08 面试题
生产车间主管岗位职责
2013/12/28 职场文书
火箭队口号
2014/06/18 职场文书
教师节随笔
2015/08/15 职场文书
超详细Python解释器新手安装教程
2021/05/10 Python
详解Redis集群搭建的三种方式
2021/05/31 Redis
Apache Pulsar结合Hudi构建Lakehouse方案分析
2022/03/31 Servers