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版(1)
Oct 09 PHP
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
Nov 18 PHP
PHP文件操作实现代码分享
Sep 01 PHP
工厂模式在Zend Framework中应用介绍
Jul 10 PHP
php定义参数数量可变的函数用法实例
Mar 16 PHP
smarty模板引擎之配置文件数据和保留数据
Mar 30 PHP
phpStudy访问速度慢和启动失败的解决办法
Nov 19 PHP
thinkPHP5.0框架模块设计详解
Mar 18 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
Laravel框架Auth用户认证操作实例分析
Sep 29 PHP
thinkphp5+layui实现的分页样式示例
Oct 08 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
Oct 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基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
javascript跟随滚动效果插件代码(javascript Follow Plugin)
2013/08/03 Javascript
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
node.js cookie-parser之parser.js
2016/06/06 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
原生ajax处理json格式数据的实例代码
2016/12/25 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
vue实现全选、反选功能
2020/11/17 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
2017/07/11 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
Vue对象赋值视图不更新问题及解决方法
2019/06/03 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
JS数组进阶示例【数组的几种函数用法】
2020/01/16 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
python日志记录模块实例及改进
2017/02/12 Python
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
Python利用递归实现文件的复制方法
2018/10/27 Python
基于sklearn实现Bagging算法(python)
2019/07/11 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
简述DNS进行域名解析的过程
2013/12/02 面试题
新闻专业大学生找工作的自我评价
2013/10/30 职场文书
《鞋匠的儿子》教学反思
2014/03/02 职场文书
监察建议书范文
2014/03/12 职场文书
马智宇婚礼主持词
2014/03/22 职场文书
事业单位鉴定材料
2014/05/25 职场文书
小学红领巾广播稿(3篇)
2014/09/13 职场文书
食品安全责任书范本
2015/05/09 职场文书
2016年端午节校园广播稿
2015/12/18 职场文书
Java输出Hello World完美过程解析
2021/06/13 Java/Android