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查看session内容的函数
Aug 27 PHP
php Try Catch异常测试
Mar 01 PHP
PHP数组传递是值传递而非引用传递概念纠正
Jan 31 PHP
php简单实现快速排序的方法
Apr 04 PHP
php将html转成wml的WAP标记语言实例
Jul 08 PHP
PHP中include/require/include_once/require_once使用心得
Aug 28 PHP
PHP去除字符串最后一个字符的三种方法实例
Mar 01 PHP
Yii2表单事件之Ajax提交实现方法
May 04 PHP
php双层循环(九九乘法表)
Oct 23 PHP
PHP的mysqli_select_db()函数讲解
Jan 23 PHP
PHP PDOStatement::fetch讲解
Jan 31 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 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调用Java对象的方法
2006/10/09 PHP
windows下PHP APACHE MYSQ完整配置
2007/01/02 PHP
使用PHP获取网络文件的实现代码
2010/01/01 PHP
将二维数组转为一维数组的2种方法
2014/05/26 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
2014/02/12 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
js监听鼠标点击和键盘点击事件并自动跳转页面
2014/09/24 Javascript
VueJS全面解析
2016/11/10 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
vue 解决addRoutes动态添加路由后刷新失效问题
2018/07/02 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
vue之组件内监控$store中定义变量的变化详解
2019/11/08 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
2020/02/27 Javascript
[01:02:05]LGD vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
深入理解python中的atexit模块
2017/03/07 Python
python网络编程之多线程同时接受和发送
2019/09/03 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
Python集合操作方法详解
2020/02/09 Python
Python实现自动签到脚本功能
2020/08/20 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
医学实习生自我鉴定
2013/12/12 职场文书
市场营销专业个人求职信范文
2013/12/14 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
节约每一滴水演讲稿
2014/09/09 职场文书
2015商场元旦促销活动策划方案
2014/12/09 职场文书
工作失误检讨书
2015/01/26 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书