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 相关文章推荐
3
Oct 09 PHP
PHP常用代码
Nov 23 PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 PHP
php上的memcache和memcached两个pecl库
Mar 29 PHP
php页面消耗内存过大的处理办法
Mar 18 PHP
PHP以指定字段为索引返回数据库所取的数据数组
Jun 30 PHP
php pki加密技术(openssl)详解
Jul 01 PHP
CI框架给视图添加动态数据
Dec 01 PHP
彻底删除thinkphp3.1案例blog标签的方法
Dec 05 PHP
php实现遍历目录并删除指定文件中指定内容
Jan 21 PHP
实例详解PHP中html word 互转的方法
Jan 28 PHP
Yii2框架实现注册和登录教程
Sep 30 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 设计模式之 单例模式
2008/12/19 PHP
Apache服务器下防止图片盗链的办法
2015/07/06 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
2015/12/02 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
Javascript 通过json自动生成Dom的代码
2010/04/01 Javascript
简短几句 通俗解释javascript的闭包
2011/01/17 Javascript
js 验证密码强弱的小例子
2013/03/21 Javascript
jQuery实现当按下回车键时绑定点击事件
2014/01/28 Javascript
jquery插件开发之实现google+圈子选择功能
2014/03/10 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
浅析JavaScript中的array数组类型系统
2016/07/18 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
ElementUI radio组件选中小改造
2019/08/12 Javascript
python基础教程之分支、循环简单用法
2016/06/16 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
python实现布隆过滤器及原理解析
2019/12/08 Python
Python实现冒泡排序算法的完整实例
2020/11/04 Python
python实现经纬度采样的示例代码
2020/12/10 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
canvas实现俄罗斯方块的方法示例
2018/12/13 HTML / CSS
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
会计主管岗位职责
2014/01/03 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
党员查摆问题及整改措施
2014/10/10 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
公司捐书倡议书
2015/04/27 职场文书
常住证明范本
2015/06/23 职场文书
高二数学教学反思
2016/02/18 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
MySQL表字段时间设置默认值
2021/05/13 MySQL
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python