关于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 相关文章推荐
在 PHP 中使用随机数的三个步骤
Oct 09 PHP
关于PHP5 Session生命周期介绍
Mar 02 PHP
php的一些小问题
Jul 03 PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 PHP
zend framework框架中url大小写问题解决方法
Aug 19 PHP
php截取html字符串及自动补全html标签的方法
Jan 15 PHP
php将数组存储为文本文件方法汇总
Oct 28 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 PHP
最新版本PHP 7 vs HHVM 多角度比较
Feb 14 PHP
PHP面向对象自动加载机制原理与用法分析
Oct 14 PHP
Thinkphp实现短信验证注册功能
Oct 18 PHP
PHP二维关联数组的遍历方式(实例讲解)
Oct 18 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和MySql来与ODBC数据连接
2006/10/09 PHP
深入理解PHP之require/include顺序 推荐
2011/01/02 PHP
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
PHP多个文件上传到服务器实例
2014/10/29 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
JavaScript 模拟用户单击事件
2009/12/31 Javascript
document.getElementById为空或不是对象的解决方法
2010/01/24 Javascript
AeroWindow 基于JQuery的弹出窗口插件
2011/06/27 Javascript
js 调用本地exe的例子(支持IE内核的浏览器)
2012/12/26 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
2019/05/09 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
python列表与元组详解实例
2013/11/01 Python
python文件和文件夹复制函数
2020/02/07 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
Python Opencv实现单目标检测的示例代码
2020/09/08 Python
Python并发爬虫常用实现方法解析
2020/11/19 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
黄色火烈鸟:De Gele Flamingo
2019/03/18 全球购物
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
2014年感恩母亲演讲稿
2014/05/27 职场文书
2016年艾滋病宣传活动总结
2016/04/01 职场文书
AJAX实现指定部分页面刷新效果
2021/10/16 Javascript