• 首先插件的路径改变了

    插件放置于 source/plugin/目录下

    数据库读取的写法也发生了改变:

    使用了类的静态方法好处显而易见不需要原来 $GLOBALS[‘db’] 直接在任何地点拿出来就能用

    DB::table('forum_attachment');   //这里会返回 pre_ forum_attachment
    DB::fetch_first($query)              //这里对应原来DZ7的 $db-> fetch_first($query)
    DB::query($query)                    //对应原来DZ7的 $db-> query ($query)
    DB::fetch($query)                     //对应原来DZ7的 $db-> fetch ($query)

    关于嵌入点:

    Discuz!X1  由于有众多模块 .. 所以插件平台在原来DZ7.2 的基础上进行了升级

    具体的写法:

    class plugin_bigqi_com {

             function plugin_bigqi_com(){
                       //这个写法会被插件执行函数runhooks() 运行时调用执行...
                       return 'this is globals plugin_bigqi_com';
             }
             function global_footer(){
                       // 这个是全局嵌入点的...所有的页面包括首页论坛群组空间等等
                       return 'this is globals global_footer';
             }
    }
    //下面这里就重要了..
    // DISCUZ! X 的插件运行机制有些改动... 由于Dx 使用了模块化包含方式..
    //所以就有必要强调嵌入点是哪个模块下的
    //模块的定义在每个最外层文件的最上部如:forum.php
    // define('CURSCRIPT', 'forum'); 定义了模块名称 forum
    //另外原来DISCUZ 7.2 使用的执行脚本常量由原来的 CURSCRIPT 改为 CURMODULE
    //所以大家在写 forum 嵌入点的时候判断模块下执行的脚本就要用 CURMODULE 来判断
    //另外嵌入点的具体写法如下:
    //只有用插件名+下横线+模块的名称对原来的类进行继承扩展才能让模块内的嵌入点显示
    class plugin_bigqi_com_forum extends plugin_bigqi_com {
             function index_top(){
                       return 'this is forum index_top';
             }

    }

    // 另外 原来的 DZ7.2 使用的引用模板的写法不变只是插件的模板目录的名称改变了
    由templates 改成了 template
    例如:
    source/plugin/bigqi_com_picrollshow/template/
    插件模板引擎的写法 保持不变 我这里写个示例
    // include template('bigqi_com:picrollshow');
    // return $return;