2011年4月20日星期三

Discuz! X1.5 /2.0增加新页面包含模板头部和尾部

一.简单的基本页面的建立


新建的页面需要 php文件和该单页的模板(.htm)文件,比如:bunsen.php、bunsen.htm

第一步在根目录下建立bunsen.php文件

单页的php文件内容如下:

<?php
require './source/class/class_core.php';//引入系统核心文件
$discuz = & discuz_core::instance();//以下代码为创建及初始化对象
$discuz->cachelist = $cachelist;
$discuz->init();

//这里放置自己的代码,变量
include template(my/bunsen);//调用单页模版文件,my为文件夹名,bunsen为模板文件名
?>
这里需要注意的是,bunsen为模板文件名,不需要加.htm扩展名,在这里模板文件存放于自己当前风格目录下的my目录;

第二步创建模版文件

在 template\default 建立文件夹my 并在my目录下建立bunsen.htm文件

例如: http://tefee.cn/template/default/my/bunsen.htm

基本代码如下:

{subtemplate common/header}
这里是自己正文区域的代码
{subtemplate common/footer}

其中: subtemplate common/header}、{subtemplate common/footer}分别为调用页头、页尾模板,使得单页风格与论坛保持一致;

至此,基本型单页创建完毕。演示见:http://tefee.cn/

二 . 建立可以DIY的单页教程


自己制作的单页中,如何又能使用DX的DIY功能呢?

只需要稍加改造,即可完成,如下:将单页php文件调用模板的那行代码改成:

include template('diy:my/bunsen');

这样就可以加载DIY模块,然后在单页模版中,添加DIY区域,如下:

<!--[diy=diy1]--><div id="diy1" class="area"></div><!--[/diy]-->
这就是一个DIY区域,如果要多个区域,则:

<!--[diy=diy1]--><div id="diy1" class="area"></div><!--[/diy]-->
<!--[diy=diy2]--><div id="diy2" class="area"></div><!--[/diy]-->
<!--[diy=diy3]--><div id="diy3" class="area"></div><!--[/diy]-->

这样就可以实现单页DIY功能了,需要说明的是,模版中要在什么地方加DIY区域,根据自己需要,并不是固定死的,自己设计在哪,就在哪里加入。

三.自建模板中常用的代码


下面开始讲一下模板中常用的标签及变量输出。
一、模板中使用自定义变量:
如我们在PHP文件中定义了一个变量并赋值了,如:
$siteUrl="http://tefee.cn/";

$siteName="祝君成功网站建设";

那么如何在模板中输出呢?其实这个很简单:

站点地址:$siteUrl
站点名称:$siteName

就可以输出结果:

二、条件判断和循环语句,在模板中直接使用php简单代码

模板中一般含有以下标签
if标签,else标签,loop标签 ,eval标签

1、if标签和 else标签主要是判断标签,格式如下

<!—{if 条件}–>

//Your code here…

<!—{/if}–>



<!—{if 条件}–>

//Your code here…

<!—{else}–>

//Your code here…

<!—{/if}–>

以上的条件可以是变量及合法的PHP函数及自定义函数。

2、 loop标签
loop标签是循环输出数组的,如果你不懂数组,那么请自行参考相关资料。
格式一:

<!–{loop $s $key $value}–>

$value

<!–{/loop}–>
相当于PHP代码中

foreach($s as $key=>$value){

echo $value

}

格式二:
<!–{loop $s  $value}–>

$value

<!–{/loop}–>

相当于PHP代码中

//住$s必须是二维数组。

foreach($s as  $value){

echo $value
}

3、eval标签
eval标签主要是用来在模板中执行php语法,在eval后必须紧跟合法的PHP语法,如:
<!–{eval echo ‘这是PHP语法’;}–>

基本上UCHOME模板中的标签就这么几个,也是最常用的几个了

四.技巧和注意事项


1.自建页面的浏览器标题在哪里设置,答案是在 .php页面中 给$navtitle 变量赋值即可

2..htm模板中不能包含任何类似<?php 代码,否则页面显示为空白

3. 如有其它问题请到 http://tefee.cn/home.php 交流学习