Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于模板加载的说明

[复制链接]
lidq.jingwu 发表于 2009-9-17 12:26:40 | 显示全部楼层 |阅读模式
有很多的网友想在supesite中增加一个模板文件,但苦于找不找修改方法,下面给出supesite模板加载的一个说明:
supesite模板是用于显示前台页面的,加载模板是用template函数来实现的,它的方法如下:
  1. //编译模板文件
  2. function template($tplfile, $fullpath=0) {
  3.         global $_SCONFIG;

  4.         if(empty($fullpath)) {
  5.                 $filename = 'templates/'.$_SCONFIG['template'].'/'.$tplfile.'.html.php';
  6.                 $objfile = S_ROOT.'./cache/tpl/tpl_'.$_SCONFIG['template'].'_'.$tplfile.'.php';
  7.                 $tplfile = S_ROOT.'./'.$filename;
  8.         } else {
  9.                 $filename = $tplfile;
  10.                 $objfile = str_replace('/', '_', $filename);
  11.                 $objfile = S_ROOT.'./cache/tpl/tpl_'.$objfile.'.php';
  12.                 $tplfile = S_ROOT.'./'.$filename;
  13.         }

  14.         $tplrefresh = 1;
  15.         if(file_exists($objfile)) {
  16.                 if(empty($_SCONFIG['tplrefresh'])) {
  17.                         $tplrefresh = 0;
  18.                 } else {
  19.                         if(@filemtime($tplfile) <= @filemtime($objfile)) {
  20.                                 $tplrefresh = 0;
  21.                         }
  22.                 }
  23.         }

  24.         if($tplrefresh) {
  25.                 include_once(S_ROOT.'./function/template.func.php');
  26.                 parse_template($tplfile, $objfile);
  27.         }
  28.         return $objfile;
  29. }
复制代码
由此函数可以知道,加载模板有两种方式:
一种是写全路径的,如m.php文件中加载模板文件的语句:
  1. include template($tpldir.'/category.html.php', 1);
复制代码
$tpldir:是系统已经定义好的文件目录。
$tpldir打印出来是:model/data/test/
        model/data是模型的模板文件存放的位置,是以相对于SupeSite安装目录的相对路径
        test是模型文件夹的名字。

一种是不写路径的,如index.php文件中加载模板文件的语句:
  1. include template('index');
复制代码
这种方式不需要写路径,参数只是模板文件的名字,而不包括后缀,如上面一句的模板文件是index.html.php文件。

举一个小例子,把首页模板 index.html.php 换一个名字,如:index1.html.php
        模板改名后,修改 index.php 加载模板语句为:
  1. include template('index1');
复制代码
这样修改后,只是更改了模板文件名,而并不会对系统的URL产生任何的影响。

如何增加模板文件,下面这个帖子里有一个很好的例子:
给大家分享一下,做个模型首页的方法:
https://discuz.dismall.com/viewth ... ;page=1#pid11528216

注意:页面模板是由程序来控制的,程序可能会根据URL的不同,来加载不同的模板,所以要学好还应该有一定的PHP基础。
忧伤啊忧伤 发表于 2010-1-17 10:12:05 | 显示全部楼层
哇赛,沙发诶。
回复

使用道具 举报

Alice.Girl 发表于 2010-1-18 12:57:46 | 显示全部楼层
支持一下    .
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-24 04:09 , Processed in 0.017278 second(s), 2 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表