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通过COM使用ADODB的简单例子
Dec 31 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
May 26 PHP
php 智能404跳转代码,适合换域名没改变目录的网站
Jun 04 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
Nov 07 PHP
php绘图之在图片上写中文和英文的方法
Jan 24 PHP
php ImageMagick windows下安装教程
Jan 26 PHP
php运行时动态创建函数的方法
Mar 16 PHP
PHP信号量基本用法实例详解
Feb 12 PHP
yii2.0实现pathinfo的形式访问的配置方法
Apr 06 PHP
PHP序列化/对象注入漏洞分析
Apr 18 PHP
php cookie 详解使用实例
Nov 03 PHP
php批量删除操作代码分享
Feb 26 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中根据变量的类型 选择echo或dump
2012/07/05 PHP
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
DOM 中的事件处理介绍
2012/01/18 Javascript
JavaScript单元测试ABC
2012/04/12 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
JavaScript实现网页截图功能
2014/10/16 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
js滑动提示效果代码分享
2016/03/10 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
jQuery Masonry瀑布流插件使用方法详解
2017/01/18 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
vue自定义全局组件(自定义插件)的用法
2018/01/30 Javascript
写gulp遇到的ES6问题详解
2018/12/03 Javascript
Vue实现日历小插件
2019/06/26 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
vue获取form表单的值示例
2019/10/29 Javascript
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
python创建学生成绩管理系统
2019/11/22 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
2019/12/11 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
python的pip有什么用
2020/06/17 Python
python 如何在测试中使用 Mock
2021/03/01 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
管理心得体会
2013/12/28 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
举起手来观后感
2015/06/09 职场文书
财产分割协议书
2016/03/22 职场文书
python实现简单的名片管理系统
2021/04/26 Python