关于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 相关文章推荐
一个ubbcode的函数,速度很快.
Oct 09 PHP
IIS6的PHP最佳配置方法
Mar 19 PHP
发一个php简单的伪原创程序,配合商城采集用的
Oct 12 PHP
fleaphp常用方法分页之Pager使用方法
Apr 23 PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
Jan 28 PHP
php动态添加url查询参数的方法
Apr 14 PHP
php使用GD库创建图片缩略图的方法
Jun 10 PHP
深入理解PHP内核(一)
Nov 10 PHP
ThinkPHP路由机制简介
Mar 23 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
Apr 03 PHP
如何让PHP编码更加好看利于阅读
May 12 PHP
Laravel创建数据库表结构的例子
Oct 09 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
如何过滤高亮显示非法字符
2006/10/09 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
php合并js请求的例子
2013/11/01 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
php cookie 详解使用实例
2016/11/03 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
2013/01/24 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
2015/09/19 Javascript
使用javascript插入样式
2016/03/14 Javascript
1秒50万字!js实现关键词匹配
2016/08/01 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
微信小程序  自定义创建详细介绍
2016/10/27 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
2017/12/22 Javascript
bootstrap table实现合并单元格效果
2018/12/24 Javascript
解决ant Design Search无法输入内容的问题
2020/10/29 Javascript
[16:21]教你分分钟做大人:圣堂刺客
2014/12/03 DOTA
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
Python跳出循环语句continue与break的区别
2014/08/25 Python
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
Python实现的根据文件名查找数据文件功能示例
2018/05/02 Python
python八皇后问题的解决方法
2018/09/27 Python
Python 互换字典的键值对实例
2019/02/12 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
Python 绘制可视化折线图
2020/07/22 Python
商场促销活动方案
2014/02/08 职场文书
环保标语口号
2014/06/13 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
刑事法律意见书
2015/06/04 职场文书
帝企鹅日记观后感
2015/06/10 职场文书
2015年语言文字工作总结
2015/07/23 职场文书