小兔网

假如我们想要增加discuz一个页面是http://sex.linglingtang.com/test.php?mod=my

首先:建 \test.php(入口)

即在根目录新建一个php文件,就叫 test.php ,这个是入口文件;

然后:建 \source\class\class_test.php(类)

即在\source\class 新建模块类文件 class_test.php ,在里面添加my类;

然后:建 \source\function\function_test.php(方法)

即在\source\function,定义不同的mod方法;

然后:建 \source\module\test\test_my.php(后端控制器)

即在\source\module 新增 test文件夹,在test文件夹新增文件 test_模块名.php;

然后:建 \template\default\test\my.htm(前端模板)

即在默认主题/theme/default/ 新建test文件夹,在test文件夹里新建模板文件my.htm , 也就是theme/default/test/my.htm;

 

代码如下:

\test.php

 

<?php
define('APPTYPEID', 0);
define('CURSCRIPT', 'test');

require './source/class/class_core.php';
$discuz = C::app();
$modarray = array('my');

if(!isset($_GET['mod']) && !in_array($_GET['mod'],$modarray)){
die('mod is undefined!');
}

$mod = isset($_GET['mod']) ? $_GET['mod']:'my';
define('CURMODULE', $mod);
$discuz->init();

require libfile('function/test');
require libfile('class/test');
runhooks();
require DISCUZ_ROOT.'./source/module/test/test_'.$mod.'.php';

\source\class\class_test.php

<?php
/**
* Yoper test
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
class my{
function __construct($msg){
my($msg);
}
function run(){
return "www.linlingtang.com";
}
}
?>

\source\function\function_test.php

<?php
/**
* Yoper add
*/
function my($msg){
echo "~ my ~";
}

\source\module\test\test_my.php

<?php
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
define('NOROBOT', TRUE);

$c = new my("hello,my");
$time = $c->run();
include template('test/my');

\template\default\test\my.htm

<!--{template common/header}-->
<div class="my">
<br><br><br><br><br>
<center>my页面</center>
<br><br><br><br>
</div>
<!--{template common/footer}-->

discuz新增页面效果图(这不是默认主题)

性零糖