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 相关文章推荐
用Simple Excel导出xls实现方法
Dec 06 PHP
php分页函数完整实例代码
Sep 22 PHP
php中字符集转换iconv函数使用总结
Oct 11 PHP
php查询mssql出现乱码的解决方法
Dec 29 PHP
如何使用PHP对网站验证码进行破解
Sep 17 PHP
PHP单例模式定义与使用实例详解
Feb 06 PHP
php 开发中加密的几种方法总结
Mar 22 PHP
Laravel学习教程之路由模块
Aug 18 PHP
laravel-admin的多级联动方法
Sep 30 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 PHP
Thinkphp 框架扩展之类库扩展操作详解
Apr 23 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
Sep 17 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
解决中英文字符串长度问题函数
2007/01/16 PHP
php对gzip文件或者字符串解压实例参考
2008/07/25 PHP
php cookie 作用范围?不要在当前页面使用你的cookie
2009/03/24 PHP
小文件php+SQLite存储方案
2010/09/04 PHP
PHP语法自动检查的Vim插件
2014/08/11 PHP
Yii安装与使用Excel扩展的方法
2016/07/13 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
laravel 5.3中自定义加密服务的方案详解
2017/05/09 PHP
javascript下有关dom以及xml节点访问兼容问题
2007/11/26 Javascript
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
javascript 面向对象的JavaScript类
2010/05/04 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
JS实现控制表格行内容垂直对齐的方法
2015/03/30 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
微信小程序 如何获取网络状态
2019/07/26 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
[56:42]VP vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python的id()函数解密过程
2012/12/25 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
2018/05/24 Python
python 数字类型和字符串类型的相互转换实例
2018/07/17 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
python3 下载网络图片代码实例
2019/08/27 Python
vscode调试django项目的方法
2020/08/06 Python
HTML5和以前HTML4的区别整理
2013/10/20 HTML / CSS
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
Hibernate持久层技术
2013/12/16 面试题
介绍一下你对SOA的认识
2016/04/24 面试题
班班通校本培训方案
2014/03/12 职场文书
教师个人考察材料
2014/12/16 职场文书
python实现局部图像放大
2021/11/17 Python