互动百科插件开发说明_第1页
互动百科插件开发说明_第2页
互动百科插件开发说明_第3页
互动百科插件开发说明_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、HDWiki4.0插件开发文档 编辑词条 发表评论(3 目录 ? 什么是插件? ? 如何安装插件? ? 如果停用、卸载插件? ? 插件的类型 ? 插件数据表 ? 一个简单插件的例子 ? 插件的钩子 ? 插件的变量 ? 修改权限 ? 如何发布我的插件 ? 相关内容 显示部分显示全部 什么是插件?编辑本段回目录插件,是基于hdwiki系统之上,设计开发的一种小程序或小方案,用来实现对hdwiki现有功能扩展和改进。由于 hdwiki已具有相当完备的底层架构,因此插件并不需要具备很多深层的设计思想,也不需要很专业的开发人员,只 HDWiki 4.0插件开发文档 要把想实现的功能与hdwiki的基本体

2、系挂接起来,hdwiki就能拥有更加个性化的功能。插件与界面风格都是实现hdwiki个性化的有效方式,前者多用于hdwiki功能和特性的扩充,后者则用来满足访问者多样化的审美取向。 如何安装插件?编辑本段回目录以管理员帐号登录HDWiki4.0系统后,进入系统设置(管理后台)。 1、通过URL方式安装 在HDWiki插件功能中,点击“安装插件”进入安装界面。在输入框内输入正确的插件的URL地址,再点击“下载”按钮。待系统提示“安装成功”后,该插件的安装即已完成。此时,打开插件管理功能,已经可以看到插件列表中已经有了您安装插件。 2、通过zip文件方式安装 从HDWiki官方站点,下载插件到本地

3、,插件都是zip格式的文件。把这个zip文件通过ftp等工具上传到hdwiki的plugins目录里面,然后进入hdwiki管理后台,插件插件管理,点击安装此插件即可。 如果停用、卸载插件?编辑本段回目录1、停用插件:如果不想使用插件,在插件列表中找到该插件,并点击对应的“停用”即可停用该插件。 2、卸载插件:请在插件列表中找到该插件,并点击“卸载”即可卸载掉此插件。 插件的类型编辑本段回目录目前,插件可按是否在前台显示来分。 百科联盟插件属于前台不显示的插件。 UCenter插件属于前台不显示的插件。 互动摸摸插件属于前台显示的插件。 插件数据表编辑本段回目录和插件相关的数据表一共有三个:

4、wiki_plugin(插件信息表) wiki_pluginhook(插件钩子表) wiki_pluginvar(插件变量表) 三个表的具体详细信息请参照:HDWiki4.0数据库表结构 一个简单插件的例子编辑本段回目录下面我们举个输出"Hello world!"的例子: 第一步,我们先建立插件的文件目录,步骤如下: 1、首先在plugins目录下新建一目录,目录名为helloworld,此目录名为唯一标识,在以下的步骤中,创建的目录文件名必须与此标识一致,一致的地方以下会用红色标 出。 2、然后在新建的helloworld目录下新建三个目录,分别为control、mode

5、l、view,这三个目录名为固定的。 3、在control目录下建两个PHP文件,分别是后台的admin_helloworld.php、前台的helloworld.php 4、在model目录下建一个PHP文件,名称为helloworld.class.php 5、view目录下的文件是前台和后台页面的模版文件,若需要则创建。hello world例子仅需要一个前台显示的模版文件,所以新建helloworld.htm。(如果您开发的插件需要有后台相关设置的页面,则可新建admin_helloworld.htm做为后台的模版,此例不需要,所以没有创建)。 到此为止,插件的目录文件我们都已创建好了,

6、现在就开始往每个相应的文件里面添加代码来实现hello world这个插件的功能。 插件目录示意图如下:(注:最上层为一级目录,由上到下结构) helloworld文件夹 control文件夹 model文件夹 view文件夹 admin_helloworld.php helloworld.php helloworld.class.php helloworld.htm admin_helloworld.htm 第二步,我们在新建的插件目录里面增加相应代码(即“/代码开始”“/代码结束”之间的代码),代码里红字的字体是插件的唯一标识符。 1、安装与卸载 首先,我们要在model/hellowor

7、ld.class.php里面编写插件的安装与卸载代码。 /代码1开始 base = $base; $this->db = $base->db; /*插件必须具有的安装方法*/ function install( $plugin=array( 'name'=>'插件例子', 'identifier'=>'helloworld', 'description'=>'插件例子!', 'datatables'=>'', 'type&#

8、39;=>'1', 'copyright'=>'', 'modules'=>'', 'vars'=>array(, 'hooks'=>array( ; return $plugin; /*插件必须具有的卸载方法*/ function uninstall( /若您开发的插件有数据库,则此处写删除数据表的相关代码,若没有则可以留空,HDWIKI中已经写了卸载插件的代码,此helloworld例子则可以留空 ?> /代码1结束 其中,红字的字体为您需要修

9、改的部分,详细介绍如下: 'name'=>'插件例子', /插件名称 'identifier'=>'helloworld', /插件的唯一标识 'description'=>'插件例子!', /插件描述 'datatables'=>'', /若插件需数据表,则此处填数据表名 'type'=>'1', /类型,1:表示有前台显示页面,0表示没有前台显示页面 'copyright'=>&#

10、39;', /版权信息 'modules'=>'', /插件详细信息 'vars'=>array(, /插件变量 'hooks'=>array( /插件钩子 2、前台相关PHP文件control/helloworld.php /代码2开始 base( & $get,& $post; function dodefault( $this->view->assign('hello','Hello world!' $this->view->d

11、isplay('file:/plugins/helloworld/view/helloworld' /此处显示view/helloworld.htm这个文件 ?> /代码2结束 前台显示插件的页面为plugins/helloworld/view/helloworld.htm文件。 3、后台相关PHP文件control/admin_helloworld.php /代码3开始 base( & $get,& $post; $this->view->setlang('zh','back' function dodefau

12、lt( echo '暂无内容' /后台输出“暂无内容”的信息 ?> /代码3结束 4、view/helloworld.htm /代码4开始 template header /调用了HDWIKI头部页面 $hello template footer /调用了HDWIKI底部页面 /代码4结束 到这里,hello world这个简单的插件就制作完成了,然后打包,按之前提到过的方法进行安装就可以使用了! hello world插件安装成功后,在首页导航中会有“插件例子”导航,点开则显示“Hello world!”。 helloword插件源代码下载(UTF8版本) 插件的钩子编

13、辑本段回目录钩子的添加是在安装插件的时候,代码在model下面的helloworld.class.php里(以helloworld为例,上述制作插件中提到。 $plugin=array( 'name'=>'插件例子', 'identifier'=>'helloworld', 'description'=>'插件例子!', 'datatables'=>'', 'type'=>'1', 'copyrig

14、ht'=>'', 'modules'=>'', 'vars'=>array(, 'hooks'=>array( array( 'available'=>"1", /钩子是否可用,1为可用,0为不可用。 'title'=>'include', /钩子标题 'description'=>'', /钩子描述 'code'=>'这里填写具体的钩子

15、代码' ; 目前没有提供对钩子的添加、删除、修改的操作,若想修改钩子,只能是修改插件文件然后重新安装。 插件安装成功后,在后台的插件列表中点相应插件的“详情”,即可查看钩子信息。若要在页面代码中引用钩子,则将该钩子的调用代码放到页面中即可。例:eval($this->plugin'hdapi''hooks''uniontitle' 插件钩子表为:wiki_pluginhook 参考:HDWiki 4.0数据库表结构 插件的变量编辑本段回目录插件的变量包含了对该插件的一些相关设置,如百科联盟插件的“开启和互动主站互换内容 ”、“use

16、rnick”、“sitenick”等。插件变量也是在安装的时候初始化的,代码在model下面的helloworld.class.php里(以helloworld为例,上述制作插件中提到。 $plugin=array( 'name'=>'插件例子', 'identifier'=>'helloworld', 'description'=>'插件例子!', 'datatables'=>'', 'type'=>'1'

17、;, 'copyright '=>'', 'modules'=>'', 'vars'=>array( array('displayorder'=>"0", /插件变量显示顺序 'title'=>'', /插件变量名称 'description'=>'', /插件变量描述 'variable'=>'ucopen', /插件变量名称 'type'=>'radio', /插件变量类型:数字(number 、字串(text 、开关(radio 、文本(textarea 、选择(select、颜色(color 'value'=>'0', /插件变量的值 '

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论