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之PHP语法学习笔记1
Dec 17 PHP
PHP备份/还原MySQL数据库的代码
Jan 06 PHP
ajax完美实现两个网页 分页功能的实例代码
Apr 16 PHP
php通过ksort()函数给关联数组按照键排序的方法
Mar 18 PHP
分享自定义的几个PHP功能函数
Apr 15 PHP
php实现的简单数据库操作Model类
Nov 16 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
PHP将数据导出Excel表中的实例(投机型)
Jul 31 PHP
PHP完全二叉树定义与实现方法示例
Oct 09 PHP
php通过各种函数判断0和空
Jul 04 PHP
php实现 master-worker 守护多进程模式的实例代码
Jul 20 PHP
如何在PHP中读写文件
Sep 07 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实现的生成静态HTML速度快类库
2007/03/31 PHP
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
PHP判断一个字符串是否是回文字符串的方法
2015/03/23 PHP
PHP模糊查询的实现方法(推荐)
2016/09/06 PHP
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
jquery html5 视频播放控制代码
2016/11/06 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
微信小程序实现图片懒加载的示例代码
2017/12/13 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
[55:02]2014 DOTA2国际邀请赛中国区预选赛 HGT VS Orenda
2014/05/21 DOTA
Python 面向对象 成员的访问约束
2008/12/23 Python
python将图片文件转换成base64编码的方法
2015/03/14 Python
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
Python文件和流(实例讲解)
2017/09/12 Python
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
numpy实现神经网络反向传播算法的步骤
2019/12/24 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
Ellesse英国官网:意大利高级运动品牌
2019/07/23 全球购物
家长通知书教师评语
2014/04/17 职场文书
文明之星事迹材料
2014/05/09 职场文书
机械机修工岗位职责
2014/08/03 职场文书
赔偿协议书范本
2014/09/12 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
学校政风行风评议工作总结
2014/10/21 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
监护人证明
2015/06/19 职场文书
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android