关于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 相关文章推荐
phpfans留言版用到的数据操作类和分页类
Jan 04 PHP
基于OpenCV的PHP图像人脸识别技术
Oct 11 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
Jun 23 PHP
php图像处理函数大全(推荐收藏)
Jul 11 PHP
PHP中IP地址与整型数字互相转换详解
Aug 20 PHP
destoon调用discuz论坛中带图片帖子的实现方法
Aug 21 PHP
php中关于socket的系列函数总结
May 18 PHP
php的debug相关函数用法示例
Jul 11 PHP
PHP7标量类型declare用法实例分析
Sep 26 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
Dec 21 PHP
PHP析构函数destruct与垃圾回收机制的讲解
Mar 22 PHP
PHP Pipeline 实现中间件的示例代码
Apr 26 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 Squid中可缓存的动态网页设计
2008/09/17 PHP
PHP开发中四种查询返回结果分析
2011/01/02 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
使用js获取地址栏中传递的值
2013/07/02 Javascript
ExtJS4中的requires使用方法示例介绍
2013/12/03 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
微信小程序自定义底部弹出框
2020/11/16 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
js实现无缝轮播图特效
2020/05/09 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
2020/08/18 Javascript
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中分数的相关使用教程
2015/03/30 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
2017/09/12 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
Django实现发送邮件功能
2019/07/18 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
基于Python批量生成指定尺寸缩略图代码实例
2019/11/20 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
计算机应用毕业生自荐信
2013/10/23 职场文书
财务主管岗位职责
2014/02/28 职场文书
环保建议书作文
2014/03/12 职场文书
物业管理专业自荐信
2014/07/01 职场文书
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS