新增一个discuz 独立页面
来源:互联网 发布:derwent专利数据库 编辑:程序博客网 时间:2024/06/05 11:22
想单独新增一个自定义的独立页面类似dz的member页面,经过尝试基本实现了单页功能:过程如下:
比如想新建一个test.php,则整个MVC过程如下:
upload根目录下新增test.php 【入口文件】
template/default下新建test文件夹,文件夹下新建你所定义的mod文件名,【模板文件】 比如test.php?mod=run,则对应的模板文件为template/default/test/run.php
source下class文件夹中新增class_test.php 【模块类文件】比如mod定义为run,则该文件里面添加run类及其方法,如果定义了多个mod则声明多个模块类
source下function文件夹中新增function_test.php【模块函数】这里可以分别定义不同mod的方法以及公共方法
source下module文件夹中新增test文件夹,该文件中增加一些文件,文件名根据你在test.php中定义的$modarray的名称来创建【实例文件】:命名规则为test_模块名.php
我定义了run,laugh,talk三个模块,实际test.php的效果如下:
默认地址:http://www.bbs.com/test.php
run模块地址:http://www.bbs.com/test.php?mod=run
laugh模块地址:http://www.bbs.com/test.php?mod=laugh
入口文件test.php
<?phpdefine('APPTYPEID', 0);define('CURSCRIPT', 'test');require './source/class/class_core.php';$discuz = C::app();//echo "<pre/>";//print_r($discuz);$modarray = array('talk', 'laugh','run');if(!!isset($_GET['mod']) && !in_array($_GET['mod'],$modarray)){ echo('mod is undefined!');}$mod = isset($_GET['mod']) ? $_GET['mod']:'talk';//有个方法判断当前的modeldefine('CURMODULE', $mod);$discuz->init();require libfile('function/test');require libfile('class/test');runhooks();require DISCUZ_ROOT.'./source/module/test/test_'.$mod.'.php';?>
function文件:
source/function/function_test.php
<?phpif(!defined('IN_DISCUZ')) { exit('Access Denied');}function talk($msg){ echo "new ".__FUNCTION__." model and runing in ".__FUNCTION__." model,".$msg;}function laugh($msg){ echo "new ".__FUNCTION__." model and runing in ".__FUNCTION__." model,".$msg;}function run($msg){ echo "new ".__FUNCTION__." model and runing in ".__FUNCTION__." model,".$msg;}?>
class类文件:
source/class/class_test.php
<?phpif(!defined('IN_DISCUZ')) { exit('Access Denied');}class talk{ function __construct($msg){ talk($msg); } function run(){ return "now in ".__CLASS__." model ,time is:".date("Y-m-d H:i:s",time()); }}class laugh{ function __construct($msg){ laugh($msg); } function run(){ return "now in ".__CLASS__." model ,time is:".date("Y-m-d H:i:s",time()); }}class run{ function __construct($msg){ run($msg); } function run(){ return "now in ".__CLASS__." model ,time is:".date("Y-m-d H:i:s",time()); }}?>
模块实例文件:【多个以此类推】
source/module/test/test_laugh.php
<?phpif(!defined('IN_DISCUZ')) { exit('Access Denied');}define('NOROBOT', TRUE);//echo "hello world! I can laugh";$c = new laugh("hello,laugh");$time = $c->run();include template('test/laugh');?>
模板文件:【多个以此类推】
template/default/test/llaugh.php
<!--{template common/header}--> <style> .talk{padding: 2em;} .talk p{font-size: 30px;border: 5px solid #F0F2F2;padding: 2em;border-radius: 2px;} .talk p span{font-size: 12px;display: inline-block;margin-right: 2px;margin-left: 2em;} </style><div class="talk"> <p>独立的laughing页面,<span>{$time}</span></p></div><!--{template common/footer}-->
到此,一个简单的discuz单页就做好了,然后根据个人需要引入数据,让模板填充数据自由发挥。
- 新增一个discuz 独立页面
- discuz新增一个discuz 独立页面
- Android 新增一个页面注意事项
- 独立Discuz头像编辑模块
- 页面新增
- c:if+EL表达式实现新增/编辑共用一个页面
- Discuz后台页面开发
- Discuz后台页面开发
- discuz 后台页面开发
- discuz安装页面乱码
- discuz默认表情设置,新增表情
- 新增页面测试分析
- easyUi 新增页面
- 页面批量新增
- discuz+ecshop实现一个页面既要有商品又有帖子
- Discuz!手机版版块页面主题列表中隔几个主题插入一个广告位的方法
- Discuz!手机版版块页面主题列表中隔几个主题插入一个广告位的方法
- DISCUZ 插件管理中心页面开发
- windows中为cmd设置代理
- MonkeyRunner Python环境搭建
- AOP技术
- Android Fragment完全解析,关于碎片你所需知道的一切
- Hibernate的Session级缓存介绍
- 新增一个discuz 独立页面
- LeetCode 24. Swap Nodes in Pairs 解题报告
- ionic翻译:Sass
- 【POJ】[1789]Truck History
- 关于Atlas 配置及调试
- Java 序列化Serializable详解(附详细例子)
- android ems具体意义?
- BZOJ-3668 起床困难综合症 位运算+贪心
- less初学2:嵌套规则,@arguments,避免编译,!important