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 相关文章推荐
PHP脚本数据库功能详解(下)
Oct 09 PHP
php下将多个数组合并成一个数组的方法与实例代码
Feb 03 PHP
PHP得到某段时间区间的时间戳 php定时任务
Apr 12 PHP
php+mysql实现简单的增删改查功能
Jul 13 PHP
PHP附件下载中文名称乱码的解决方法
Dec 17 PHP
php编程每天必学之表单验证
Mar 01 PHP
微信公众号开发之通过接口删除菜单
Feb 20 PHP
Yii框架批量插入数据扩展类的简单实现方法
May 23 PHP
PHP实现的策略模式简单示例
Aug 25 PHP
PHP7扩展开发之hello word实现方法详解
Jan 15 PHP
PHP中in_array的隐式转换的解决方法
Mar 06 PHP
PHP利用Mysql锁解决高并发的方法
Sep 04 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中循环语句的用法介绍
2012/01/30 PHP
php支付宝手机网页支付类实例
2015/03/04 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
JS支持带x身份证号码验证函数
2008/08/10 Javascript
一些javascript一些题目的解析
2010/12/25 Javascript
js的写法基础分析
2011/01/17 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
详解vue-cli3多页应用改造
2019/06/04 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
Python中关于使用模块的基础知识
2015/05/24 Python
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
pandas数据处理基础之筛选指定行或者指定列的数据
2018/05/03 Python
Django实现单用户登录的方法示例
2019/03/28 Python
Python3 实现串口两进程同时读写
2019/06/12 Python
详解python破解zip文件密码的方法
2020/01/13 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
Python能做什么
2020/06/02 Python
学前教育专业毕业生自荐信
2013/10/03 职场文书
数控专业推荐信范文
2013/12/02 职场文书
考试不及格检讨书
2014/01/09 职场文书
实习评语大全
2014/04/26 职场文书
建设单位项目负责人任命书
2014/06/06 职场文书
环保志愿者活动总结
2014/06/27 职场文书
个人工作表现评价材料
2014/09/21 职场文书
党的群众路线教育实践活动心得体会(企业)
2014/11/03 职场文书
学校捐款活动总结
2015/05/09 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
2016教师六五普法学习心得体会
2016/01/21 职场文书
2016七夕情人节广告语
2016/01/28 职场文书
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js