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操作excel文件 基于phpexcel
Jul 02 PHP
PHP排序算法的复习和总结
Feb 15 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 PHP
PHP面向对象之后期静态绑定功能介绍
May 18 PHP
YII Framework框架教程之使用YIIC快速创建YII应用详解
Mar 15 PHP
php $_SESSION会员登录实例分享
Jan 19 PHP
thinkPHP简单遍历数组方法分析
May 16 PHP
php中照片旋转 (orientation) 问题的正确处理
Feb 16 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
Jul 10 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 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
FleaPHP的安全设置方法
2008/09/15 PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
2010/09/10 PHP
thinkphp备份数据库的方法分享
2015/01/04 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
jquery判断元素的子元素是否存在的示例代码
2014/02/04 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
jQuery+CSS实现的table表格行列转置功能示例
2018/01/08 jQuery
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
Python assert语句的简单使用示例
2019/07/28 Python
Python使用pymysql模块操作mysql增删改查实例分析
2019/12/19 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
2020/04/13 Python
django使用channels实现通信的示例
2020/10/19 Python
Expedia加拿大官方网站:加拿大最大的在线旅游提供商
2017/12/31 全球购物
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
教师师德反思材料
2014/02/15 职场文书
革命先烈的英雄事迹材料
2014/02/15 职场文书
2014年党务公开实施方案
2014/02/27 职场文书
市场营销专业大学生职业生涯规划文
2014/03/06 职场文书
小学教师自我鉴定范文
2014/03/20 职场文书
审计专业自荐信范文
2014/04/21 职场文书
还款承诺书范文
2014/05/20 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
婚礼答谢礼品
2015/01/20 职场文书
网络舆情信息简报
2015/07/21 职场文书
python自动化八大定位元素讲解
2021/07/09 Python