Smarty变量用法详解


Posted in PHP onMay 11, 2016

本文实例讲述了Smarty变量用法。分享给大家供大家参考,具体如下:

1. 从PHP分配的变量

调用从PHP分配的变量需在前加"$"符号.(译注:同php一样)

调用模板内的assign函数分配的变量也是这样.(译注:也是用$加变量名来调用)

示例:

index.php:

$smarty = new Smarty;
$smarty->assign('firstname', 'Doug');
$smarty->assign('lastLoginDate', 'January11th, 2001');
$smarty->display('index.tpl');

index.tpl:

Hello {$firstname}, glad to see you couldmake it.
<p>
Your last login was on {$lastLoginDate}.

输出:

Hello Doug, glad to see you could make it.
<p>
Your last login was on January 11th, 2001.

2. 从配置文件读取的变量

配置文件中的变量需要通过用两个"#"或者是smarty的保留变量 $smarty.config.来调用(后面会讲到)

第二种语法在变量作为属性值并被引号括住的时候非常有用.

(译注:举个例子 {include file="#includefile#"} 这样#includefile#将被当作字符处理,而不表示配置文件变量,但可以这样表示{include file="`$smarty.config.includefile`"}不要忘了加``)

示例:

foo.conf:

pageTitle = "This is mine"
bodyBgColor = "#eeeeee"
tableBorderSize = "3"
tableBgColor = "#bbbbbb"
rowBgColor = "#cccccc"

index.tpl:

{config_load file="foo.conf"}
<html>
<title>{#pageTitle#}</title>
<body bgcolor="{#bodyBgColor#}">
<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}">
<tr bgcolor="{#rowBgColor#}">
    <td>First</td>
    <td>Last</td>
    <td>Address</td>
</tr>
</table>
</body>
</html>

index.tpl:

{config_load file="foo.conf"}
<html>
<title>{$smarty.config.pageTitle}</title>
<body bgcolor="{$smarty.config.bodyBgColor}">
<table border="{$smarty.config.tableBorderSize}"bgcolor="{$smarty.config.tableBgColor}">
<tr bgcolor="{$smarty.config.rowBgColor}">
    <td>First</td>
    <td>Last</td>
    <td>Address</td>
</tr>
</table>
</body>
</html>

上述两种模板写法都输出:

<html>
<title>This is mine</title>
<body bgcolor="#eeeeee">
<table border="3" bgcolor="#bbbbbb">
<tr bgcolor="#cccccc">
    <td>First</td>
    <td>Last</td>
    <td>Address</td>
</tr>
</table>
</body>
</html>

配置文件的变量只有在它们被加载以后才能使用.

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

PHP 相关文章推荐
Discuz 6.0+ 批量注册用户名
Sep 13 PHP
深入HTTP响应状态码速查表的详解
Jun 07 PHP
解析php addslashes()与addclashes()函数的区别和比较
Jun 24 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
Aug 20 PHP
php编写的抽奖程序中奖概率算法
May 14 PHP
PHP简单实现数字分页功能示例
Aug 24 PHP
PHP中静态变量的使用方法实例分析
Dec 01 PHP
php rsa 加密,解密,签名,验签详解
Dec 06 PHP
Yii2数据库操作常用方法小结
May 04 PHP
PHP单例模式简单用法示例
Jun 23 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
PHP如何使用JWT做Api接口身份认证的实现
Feb 03 PHP
基于PHP实现商品成交时发送短信功能
May 11 #PHP
Smarty环境配置与使用入门教程
May 11 #PHP
理解php依赖注入和控制反转
May 11 #PHP
php结合web uploader插件实现分片上传文件
May 10 #PHP
配置Nginx+PHP的正确思路与过程
May 10 #PHP
WordPress中设置Post Type自定义文章类型的实例教程
May 10 #PHP
php+MySQL实现登录时验证登录名和密码是否正确
May 10 #PHP
You might like
PHP数据类型之整数类型、浮点数的介绍
2013/04/28 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
php实现微信支付之企业付款
2018/05/30 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
HTML5如何适配 iPhone IOS 底部黑条
2021/03/09 HTML / CSS
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
jQuery load方法用法集锦
2011/12/06 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
2014/08/24 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
分析了一下JQuery中的extend方法实现原理
2015/02/27 Javascript
Javascript实现div的toggle效果实例分析
2015/06/09 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
JS冒泡事件与事件捕获实例详解
2016/11/25 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
微信小程序实现点击效果
2019/06/21 Javascript
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
python复制文件到指定目录的实例
2018/04/27 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
Python实现八皇后问题示例代码
2018/12/09 Python
Python sklearn KFold 生成交叉验证数据集的方法
2018/12/11 Python
python实现AES加密解密
2019/03/28 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
Pycharm快捷键配置详细整理
2020/10/13 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
2020/12/23 Python
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
印尼网上商店:Alfacart.com
2019/03/11 全球购物
关于工资低的辞职信
2014/01/14 职场文书
乡镇镇长个人整改措施
2014/10/01 职场文书
七年级上册语文教学计划
2015/01/22 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书
mysql sock 文件解析及作用讲解
2022/07/15 MySQL