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 split汉字
Jun 05 PHP
php+mysql 实现身份验证代码
Mar 24 PHP
php去除重复字的实现代码
Sep 16 PHP
php中的动态调用实例分析
Jan 07 PHP
PHP判断JSON对象是否存在的方法(推荐)
Jul 06 PHP
php微信开发之带参数二维码的使用
Aug 03 PHP
php 中奖概率算法实现代码
Jan 25 PHP
Symfony查询方法实例小结
Jun 28 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
Feb 15 PHP
PHP反射学习入门示例
Jun 14 PHP
php获取小程序码的实现代码(B类接口)
Jun 13 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 CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
简单解析PHP程序的运行流程
2016/06/23 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
ppk谈JavaScript style属性
2008/10/10 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
2013/12/25 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
一看就懂:jsonp详解
2015/06/01 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
深入浅析Node.js单线程模型
2017/07/10 Javascript
Vue组件实例间的直接访问实现代码
2017/08/20 Javascript
vuex的使用及持久化state的方式详解
2018/01/23 Javascript
bootstrap table.js动态填充单元格数据的多种方法
2019/07/18 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
python 按照固定长度分割字符串的方法小结
2018/04/30 Python
python如何解析配置文件并应用到项目中
2019/06/27 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
Python爬虫与反爬虫大战
2020/07/30 Python
Python中实现一行拆多行和多行并一行的示例代码
2020/09/06 Python
美国肌肉和力量商店:Muscle & Strength
2019/06/22 全球购物
Yahoo-PHP面试题2
2014/12/06 面试题
市场营销专业推荐信
2013/11/03 职场文书
《赵州桥》教学反思
2014/02/17 职场文书
创文明城市标语
2014/06/16 职场文书
领导干部贪图享乐整改措施
2014/09/21 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
《鲸》教学反思
2016/02/23 职场文书
导游词之神仙居景区
2019/11/15 职场文书
实习员工转正的评语汇总,以备不时之需
2019/12/17 职场文书