Discuz教程网

[插件制作] 关于Discuz X1 嵌入点 及其插件的编写 注意说明

[复制链接]
authicon dly 发表于 2012-6-23 18:33:53 | 显示全部楼层 |阅读模式
首先插件的路径改变了
插件放置于 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;
首先插件的路径改变了
插件放置于 source/plugin/目录下
数据库读取的写法也发生了改变:
使用了类的静态方法好处显而易见不需要原来 $GLOBALS[‘db’] 直接在任何地点拿出来就能用
DB::table(‘forum_attachment’);   //这里会返回 pre_ forum_attachmentDB::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;

游客,如果您要查看本帖隐藏内容请回复





上一篇:DISCUZX/DISCUZ 模组挂载系统
下一篇:discuz 7.0/7.1/7.2 和 jQuery 冲突兼容问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 01:32

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表