php smarty模板引擎的6个小技巧


Posted in PHP onApril 24, 2014

下面本文将以具体的例子一一分析:

capture标签

capture的中文意思是抓取,它的作用是抓取模板输出的数据,当我们需要它的时候,调用它,以得到抓取数据的目的。如下例子:

{capture name="test"}
<img src="testimg.jpg">
{/capture}
<div class="image">
{$smarty.capture.test}
</div>

说明:在{capture name="test"}和{/capture}之间的内容被存储到变量$test中,该变量由name属性指定.在模板中通过 $smarty.capture.test 访问该变量.如果没有指定name 属性,函数默认将使用"default" 作为参数,这一点类似Jquery中的clone方法。

config_load标签

config_load可以直接将文件中的内容读取出来,这样可以省掉assign这一步,如下使用示例:

test.csv 文件:

pageTitle = "config_load_test"
bodyBgColor = "#eeeeee"
img = "girl.jpg"
width="100"
height="100"

则模板 index.tpl 文件中可以如下引用以上 test.csv 文件:

{config_load file="test.csv"}
<html>
<title>{#pageTitle#}</title>
<body bgcolor="{#bodyBgColor#}">
<img src="{#img#}" width="{#width#}" height="{#height#}">
</body>
</html>

注:上述过程中如果出现这样的问题Warning: Smarty error: unable to read resource, 请查看一下,你的test.csv是不是放在smarty的配置目录中,默认配置目录是configs 目录。

php标签

 当你习惯了assign后,你有没有想过,在模板文件里面直接写php代码呢,虽然非常不建议这么做,但有时候迫于业务的需求不得不这样干的时候该肿么办呢?看看下面这个例子:

{php}
global $result;
foreach($result as $key=>$value){
    echo "key=$key,value=>$value<br>";
}
{/php}

strip标签

strip标签的作用是去除标签内的空格和回车,我自己感觉这个标签还是挺有用的,可以压缩最终输出的html格式,想要看效果的话,看看本站的源代码就知道了,是不是很酷,呵呵:

{strip}
<div>
    <font color="red">strip</font>
    <span>
        <div>php smarty strip 压缩html输出,www.phpernote.com 看源码效果</div>
    </span>
</div>
{/strip}

fetch标签

fetch标签和php里面的函数 file_get_contents 功能差不多,都可以把文件中的内容读出来,并且可以将读出来的结果以字符串的形式赋值给某个变量,如下使用案例:

{fetch file="./aaaa.txt" assign="result"}
{if is_array($result)}
<b>is array</b>
{else if}
<b>not array</b>
{/if}

使用常量

在php中使用 define 定义的常量可以在smarty模板中直接使用

使用方法如下:

{$smarty.const.你定义的常量名}

 

PHP 相关文章推荐
mysql 字段类型说明
Apr 27 PHP
PHP CKEditor 上传图片实现代码
Nov 06 PHP
php Static关键字实用方法
Jun 04 PHP
php中去除所有js,html,css代码
Oct 12 PHP
php实现数组筛选奇数和偶数示例
Apr 11 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
PHP根据两点间的经纬度计算距离
Oct 31 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
PHP技术开发微信公众平台
Jul 22 PHP
PHP程序中使用adodb连接不同数据库的代码实例
Dec 19 PHP
PHP读书笔记_运算符详解
Jul 01 PHP
比较完整的微信开发php代码
Aug 02 PHP
PHP中使用smarty生成静态文件的例子
Apr 24 #PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
Apr 24 #PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
Apr 24 #PHP
smarty模板中使用get、post、request、cookies、session变量的方法
Apr 24 #PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
Apr 24 #PHP
php获取中文拼音首字母类和函数分享
Apr 24 #PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
Apr 24 #PHP
You might like
php网站地图生成类示例
2014/01/13 PHP
php多文件上传实现代码
2014/02/20 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
PHP strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
javascript不同页面传值的改进版
2008/09/30 Javascript
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
2009/06/02 Javascript
加速IE的Javascript document输出的方法
2010/12/02 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
jQuery实现带滑动条的菜单效果代码
2015/08/26 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
node安装--linux下的快速安装教程
2017/03/21 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
python利用Guetzli批量压缩图片
2017/03/23 Python
python pandas 对时间序列文件处理的实例
2018/06/22 Python
详解js文件通过python访问数据库方法
2019/03/03 Python
Python3之字节串bytes与字节数组bytearray的使用详解
2019/08/27 Python
python中下标和切片的使用方法解析
2019/08/27 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
咖啡为什么会有酸味?你喝到的咖啡為什麼是酸的?
2021/03/17 冲泡冲煮
美国网上购买眼镜:Eyeconic
2017/07/29 全球购物
PHP面试题大全
2015/10/16 面试题
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
大三自我鉴定范文
2013/10/05 职场文书
幼儿园教师请假制度
2014/01/16 职场文书
书法大赛策划方案
2014/06/04 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
管理失职检讨书范文
2015/05/05 职场文书
红色经典电影观后感
2015/06/18 职场文书
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
2021/05/14 Python
实体类或对象序列化时,忽略为空属性的操作
2021/06/30 Java/Android