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产生随机数的两种方法实例代码 输出随机IP
Apr 08 PHP
PHP查询MySQL大量数据的时候内存占用分析
Jul 22 PHP
php 目录遍历、删除 函数的使用介绍
Apr 28 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
Jun 03 PHP
php curl模拟post请求小实例
Nov 13 PHP
PHP批量查询WordPress留言者E-mail地址实现方法
Feb 15 PHP
PHP数组操作类实例
Jul 11 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
Dec 21 PHP
thinkPHP中验证码的简单使用方法
Dec 26 PHP
CI框架无限级分类+递归的实现代码
Nov 01 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
Oct 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中抽象类和接口的概念以及区别
2013/06/27 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
js限制文本框只能输入数字(正则表达式)
2012/07/15 Javascript
js下拉菜单语言选项简单实现
2013/09/23 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
JavaScript函数作用域链分析
2015/02/13 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
2015/05/26 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
2018/02/05 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
javascript实现文字跑马灯效果
2020/06/18 Javascript
Python 初始化多维数组代码
2008/09/06 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
Python科学计算之Pandas详解
2017/01/15 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
2017/04/24 Python
python3操作微信itchat实现发送图片
2018/02/24 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
关于python中导入文件到list的问题
2020/10/31 Python
Vans英国官方网站:美国南加州的原创极限运动潮牌
2017/01/20 全球购物
介绍Java的内部类
2012/10/27 面试题
Windows和Linux动态库应用异同
2016/07/28 面试题
九年级数学教学反思
2014/02/02 职场文书
史学专业毕业生求职信
2014/05/09 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
初中生物教学随笔
2015/08/15 职场文书
作文之亲情600字
2019/09/23 职场文书
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL