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 验证图片生成函数
May 21 PHP
php 错误处理经验分享
Oct 11 PHP
用PHP写的基于Memcache的Queue实现代码
Nov 27 PHP
php 获取SWF动画截图示例代码
Feb 10 PHP
Yii配置文件用法详解
Dec 04 PHP
php 在线导入mysql大数据程序
Jun 11 PHP
java模拟PHP的pack和unpack类
Apr 13 PHP
thinkPHP订单数字提醒功能的实现方法
Dec 01 PHP
详解PHP防止直接访问.php 文件的实现方法
Jul 28 PHP
php实现的三个常用加密解密功能函数示例
Nov 06 PHP
php从数据库中获取数据用ajax传送到前台的方法
Aug 20 PHP
PHP实现读取文件夹及批量重命名文件操作示例
Apr 15 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
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
php curl操作API接口类完整示例
2019/05/21 PHP
JS 自定义带默认值的函数
2011/07/21 Javascript
js实现window.open不被拦截的解决方法汇总
2014/10/30 Javascript
jquery图片倾斜层叠切换特效代码分享
2015/08/27 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
我要点爆”微信小程序云开发之项目建立与我的页面功能实现
2019/05/26 Javascript
JS中的一些常用的函数式编程术语
2019/06/15 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
Python接口测试get请求过程详解
2020/02/28 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
暇步士官网:Hush Puppies
2016/09/22 全球购物
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
维也纳通行证:Vienna PASS
2019/07/18 全球购物
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
法律专业应届本科毕业生求职信
2013/10/25 职场文书
网络程序员自荐信
2014/01/25 职场文书
七一建党节演讲稿
2014/09/11 职场文书
2015年农村党员干部主题教育活动总结
2015/03/25 职场文书
企业计划生育责任书
2015/05/09 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书
MySQL的索引你了解吗
2022/03/13 MySQL