关于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实现Socket服务器的代码
Apr 03 PHP
php smarty模版引擎中的缓存应用
Dec 02 PHP
一些被忽视的PHP函数(简单整理)
Apr 30 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
Jun 21 PHP
解析php dirname()与__FILE__常量的应用
Jun 24 PHP
thinkphp 一个页面使用2次分页的实现方法
Jul 15 PHP
PHP截断标题且兼容utf8和gb2312编码
Sep 22 PHP
php去除HTML标签实例
Nov 06 PHP
php读取文件内容的三种可行方法示例介绍
Feb 08 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
Mar 19 PHP
PHP使用array_merge重新排列数组下标的方法
Jul 22 PHP
Laravel中获取IP的真实地理位置
Apr 01 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官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
range 标准化之获取
2011/08/28 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
2013/09/26 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
2015/11/09 Javascript
javascript如何定义对象数组
2016/06/07 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
微信小程序动画(Animation)的实现及执行步骤
2018/10/28 Javascript
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
Python命名空间详解
2014/08/18 Python
python生成日历实例解析
2014/08/21 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
Python 获得13位unix时间戳的方法
2017/10/20 Python
你真的了解Python的random模块吗?
2017/12/12 Python
Python读取excel中的图片完美解决方法
2018/07/27 Python
eclipse创建python项目步骤详解
2019/05/10 Python
python 实现字符串下标的输出功能
2020/02/13 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
2020/06/08 Python
高中校园广播稿
2014/01/11 职场文书
2014年保育员工作总结
2014/12/02 职场文书
详解Laravel框架的依赖注入功能
2021/05/27 PHP
java executor包参数处理功能 
2022/02/15 Java/Android