逆风天 发表于 2021-12-4 19:59:45

Discuz 增加独立页面

需求:
      访问 https://www.nf12.com/windtalker.php?mod=index 或 https://www.nf12.com/windtalker.php 出现一个新的功能页面。

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

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

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

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

class index {
function __construct( $msg ) {
index( $msg );
}

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

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

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

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

页: [1]
查看完整版本: Discuz 增加独立页面