关于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 相关文章推荐
Smarty结合Ajax实现无刷新留言本实例
Jan 02 PHP
php连接mysql数据库代码
Mar 10 PHP
php empty函数 使用说明
Aug 10 PHP
Codeigniter实现多文件上传并创建多个缩略图
Jun 12 PHP
ThinkPHP行为扩展Behavior应用实例详解
Jul 22 PHP
推荐十款免费 WordPress 插件
Mar 24 PHP
PHP序列化/对象注入漏洞分析
Apr 18 PHP
PHP7.1新功能之Nullable Type用法分析
Sep 26 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
Mar 15 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
PHP实现爬虫爬取图片代码实例
Mar 03 PHP
open_basedir restriction in effect. 原因与解决方法
Mar 14 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
yii分页组件用法实例分析
2015/12/28 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
slice函数的用法 之不错的应用
2006/12/29 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
JS实现简单的Canvas画图实例
2013/07/04 Javascript
js与jQuery 获取父窗、子窗的iframe
2013/12/20 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
node.js中的forEach()是同步还是异步呢
2015/01/29 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
2016/01/23 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
JS数组排序方法实例分析
2016/12/16 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
webpack4简单入门实例
2018/09/06 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
2018/12/22 jQuery
vue强制刷新组件的方法示例
2019/02/28 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
python绘制条形图方法代码详解
2017/12/19 Python
绘儿乐产品官方在线商店:Crayola.com
2019/09/07 全球购物
泰海淘:泰国king Power王权免税集团旗下跨境海淘综合型电商
2020/07/26 全球购物
小学学校评估方案
2014/06/08 职场文书
支部组织生活会方案
2014/06/10 职场文书
免职证明样本
2014/10/23 职场文书
升职感谢领导的话语及升职感谢信
2019/06/24 职场文书
go语言中json数据的读取和写出操作
2021/04/28 Golang
golang 实用库gotable的具体使用
2021/07/01 Golang
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis
java实现面板之间切换功能
2022/06/10 Java/Android