PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例


Posted in PHP onApril 11, 2016

本文实例讲述了PHP模板引擎Smarty之配置文件在模板变量中的使用方法。分享给大家供大家参考,具体如下:

配置文件在模板中的作用是:给前端设计页面定义变量,主要控制的是模板的外观,与 PHP 程序无关。

使用步骤:

1、使用 $tpl->configs_dir="目录"  //指定配置文件存放的目录;

2、在模板中要使用 <{configs_load file="配置文件"}> 加载f配置文件,如果有区域的话,可以使用 section="区域" 来指定区域

设置区域的目的是:为了不同的文件调用不同区域的配置文件变量。
在配置文件中是通过“[区域名称]”来指定区域的,其他没有指定区域的变量均为共有变量,即每一个页面都可以使用。

3、在指定的目录下建立配置文件。

下面通过一个实例来演示,实例思路:主文件 index.php 调用模板文件 index.tpl,在 index.tpl 中设置配置文件变量(与 PHP 程序无关)

init.inc.php Smart模板引擎初始化文件

<?php
  define('ROOT_PATH', dirname(__FILE__)); //网站根目录
  require ROOT_PATH.'/libs/Smarty.class.php'; //引入 Smart 模板引擎
  $_tpl = new Smarty(); //初始化一个对象
  $_tpl->template_dir = ROOT_PATH.'/tpl/'; //重新设置网站的模板目录
  $_tpl->compile_dir = ROOT_PATH.'./com/'; //重新设置网站的编译文件目录
  $_tpl->config_dir = ROOT_PATH.'/configs/'; //重新设置网站的配置文件目录
  $_tpl->left_delimiter = '<{'; //重新设置网站的左定界符
  $_tpl->right_delimiter = '}>'; //重新设置网站的右定界符
?>

index.php

<?php
  require 'init.inc.php'; //引入模板初始化文件
  global $_tpl;
  $_tpl->display('index.tpl'); //载入模板文件
?>

index.tpl 配置变量的使用方式有两种:
一、<{#配置变量#}>;
二、<{$smart.config.配置变量}>

<{config_load file="view.conf" section="one"}>
<!-- view.conf文件不能写完整路径,因为在初始化文件中已经指定,section="one" 代表加载[one]区域 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>配置文件在模板变量中的使用</title>
</head>
<body>
    <table border="<{#border#}>" align="<{#align#}>" width="<{#tabw#}>">
       <tr bgcolor="<{#bgcolor#}>" align="<{#align#}>">
         <td>aaaa</td>
         <td>aaaa</td>
         <td>aaaa</td>
         <td>aaaa</td>
       <tr>
       <tr>
         <td>aaaa</td>
         <td>aaaa</td>
         <td>aaaa</td>
         <td>aaaa</td>
       <tr>
       <tr>
         <td>aaaa</td>
         <td>aaaa</td>
         <td>aaaa</td>
         <td>aaaa</td>
       <tr>
       <tr>
         <td colspan="<{#colspan#}>" align="<{#align#}>">
            区域变量的显示:
            <{#aa#}><br />
            <{#bb#}><br />
            <{#cc#}><br />
         </td>
       </tr>
    </table>
  </body>
</html>

/configs/view.conf 配置文件

border=2
tabw=600
tabh=500
bgcolor=yellow
align=center

[one]
colspan=4
aa=one section

[two]
bb=two section

[three]
cc=three section

执行结果,如图所示:

PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例

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

PHP 相关文章推荐
php 301转向实现代码
Sep 18 PHP
php 变量定义方法
Jun 14 PHP
PHP中__get()和__set()的用法实例详解
Jun 04 PHP
浅析php数据类型转换
Jan 09 PHP
Yii配置文件用法详解
Dec 04 PHP
php检测图片主要颜色的方法
Jul 01 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
Jan 05 PHP
PHP页面输出搜索后跳转下一页的处理方法
Sep 30 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Dec 14 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
Oct 21 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 PHP
PHP sdk文档处理常用代码示例解析
Dec 09 PHP
PHP模板引擎Smarty中变量的使用方法示例
Apr 11 #PHP
php实现生成验证码实例分享
Apr 10 #PHP
PHP实现简单实用的分页类代码
Apr 08 #PHP
PHP文件上传类实例详解
Apr 08 #PHP
PHP实现基于mysqli的Model基类完整实例
Apr 08 #PHP
php生成带logo二维码方法小结
Apr 08 #PHP
PHP使用PDO操作数据库的乱码问题解决方法
Apr 08 #PHP
You might like
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
php简单提示框alert封装函数
2010/08/08 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
2016/08/08 PHP
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
获取数组中最大最小值方法js代码(自写)
2013/08/12 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
jquery 遍历数组 each 方法详解
2016/05/25 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
js实现可旋转的立方体模型
2016/10/16 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
解决webpack无法通过IP地址访问localhost的问题
2018/02/22 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
Python Socket传输文件示例
2017/01/16 Python
python生成式的send()方法(详解)
2017/05/08 Python
小米5s微信跳一跳小程序python源码
2018/01/08 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
python绘制直方图和密度图的实例
2019/07/08 Python
python利用tkinter实现屏保
2019/07/30 Python
python 上下文管理器及自定义原理解析
2019/11/19 Python
python为什么会环境变量设置不成功
2020/06/23 Python
编写python代码实现简单抽奖器
2020/10/20 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
遥感技术与仪器求职信
2014/02/22 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
2016年母亲节寄语
2015/12/04 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android