查看 1013
回复 0
Discuz 增加独立页面
逆风天

16

主题

0

回帖

105

积分
发表于 2021-12-4 19:59:45
显示全部楼层 阅读模式
需求:
        访问 https://www.nf12.com/windtalker.php?mod=indexhttps://www.nf12.com/windtalker.php 出现一个新的功能页面。

1、首先:在 网站根目录 下新建文件 windtalker.php,内部代码如下:
  1. <?php
  2. define( 'APPTYPEID', 0 );
  3. define( 'CURSCRIPT', 'windtalker' );

  4. require './source/class/class_core.php';
  5. $discuz = C::app();
  6. //echo "<pre/>";  
  7. //print_r($discuz);  
  8. // 需要增加mod的话在 'index' 后面 添加 ,'newmod',像这样 'index', 'newmod'
  9. $modarray = array( 'index' );

  10. if ( !!isset( $_GET[ 'mod' ] ) && !in_array( $_GET[ 'mod' ], $modarray ) ) {
  11.     echo( 'mod is undefined!' );
  12. }
  13. // 直接访问 域名 + windtalker.php 或者 + windtalker.php?mod=index
  14. $mod = isset( $_GET[ 'mod' ] ) ? $_GET[ 'mod' ] : 'index';
  15. define( 'CURMODULE', $mod );
  16. $discuz->init();

  17. require libfile( 'function/windtalker' );
  18. require libfile( 'class/windtalker' );
  19. runhooks();
  20. require DISCUZ_ROOT . './source/module/windtalker/wt_' . $mod . '.php';
  21. ?>
复制代码
2、然后:在 \source\class\ 目录下新建文件 class_windtalker.php ,内部代码如下:
  1. <?php
  2. if ( !defined( 'IN_DISCUZ' ) ) {
  3. exit( 'Access Denied' );
  4. }

  5. class index {
  6. function __construct( $msg ) {
  7. index( $msg );
  8. }

  9. function run() {
  10. return "WelCome To WindTalker";
  11. }
  12. }
  13. ?>
复制代码
3、然后:在 \source\function\ 目录下新建文件 function_windtalker.php ,内部代码如下:
  1. <?php
  2. if ( !defined( 'IN_DISCUZ' ) ) {
  3.     exit( 'Access Denied' );
  4. }

  5. function index( $msg ) {
  6. //    echo "new " . __FUNCTION__ . " model and runing in " . __FUNCTION__ . " model," . $msg;
  7. }
  8. ?>
复制代码
4、然后:在 \source\module 目录下新增文件夹 windtalker ,新建文件 wt_index.php ,内部代码如下:
  1. <?php
  2. if ( !defined( 'IN_DISCUZ' ) ) {
  3.     exit( 'Access Denied' );
  4. }
  5. define( 'NOROBOT', TRUE );
  6. //echo "hello world! I can laugh";  
  7. $c = new index( "Home" );
  8. $info = $c->run();
  9. include template( 'windtalker/index' );
  10. ?>
复制代码
5、然后:在 \template\你使用的模板目录\windtalker\ ,新建文件 index.htm ,内部代码如下:

       扩展思维:将common目录下的header.htm footer.htm复制到windtalker目录下 更改为{template windtalker/header} {template windtalker/footer}可实现新的模板结构,与原始的模板结构不冲突!如果不修改,就直接使用默认模板 default 目录下的文件
  1. <!--{template common/header}-->
  2. 这里就是内容了!
  3. {$info}
  4. <!--{template common/footer}-->
复制代码


参考:
         1、https://blog.csdn.net/discuzmall/article/details/78360587
         2、https://blog.csdn.net/chenyoper/article/details/83450897

您需要登录后才可以回帖 登录 立即注册
QQ 快速回复 返回列表