请选择 进入手机版 | 继续访问电脑版
开启辅助访问
帐号登录 |立即注册

discuz采用MVC框架创建独立单页的方法

 
假如我们想要增加discuz一个页面
首先:建 \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.jscripthome.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}-->

以上就是本文的全部内容,感谢大家支持JScript之家——编程学习者社区!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。