DiscuzX2第三方DIY模块拓展类的开发文档格式.docx

上传人:b****3 文档编号:6814957 上传时间:2023-05-07 格式:DOCX 页数:21 大小:21.99KB
下载 相关 举报
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第1页
第1页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第2页
第2页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第3页
第3页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第4页
第4页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第5页
第5页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第6页
第6页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第7页
第7页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第8页
第8页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第9页
第9页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第10页
第10页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第11页
第11页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第12页
第12页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第13页
第13页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第14页
第14页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第15页
第15页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第16页
第16页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第17页
第17页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第18页
第18页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第19页
第19页 / 共21页
DiscuzX2第三方DIY模块拓展类的开发文档格式.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

DiscuzX2第三方DIY模块拓展类的开发文档格式.docx

《DiscuzX2第三方DIY模块拓展类的开发文档格式.docx》由会员分享,可在线阅读,更多相关《DiscuzX2第三方DIY模块拓展类的开发文档格式.docx(21页珍藏版)》请在冰点文库上搜索。

DiscuzX2第三方DIY模块拓展类的开发文档格式.docx

type>

*/

functionname(){

return'

示例数据类'

;

}

*返回一个数组:

第一个值为本数据类所在的模块分类;

第二个值为模块分类显示的名称(显示在DIY模块面板)

functionblockclass(){

returnarray('

sample'

'

示例分类'

);

*返回数据类中可供“模块样式”使用的字段。

*格式见示例:

*name为该字段的显示名称

*formtype决定编辑单条数据时该字段的显示方式:

类型有:

text,textarea,date,title,summary,pic;

详见portalcp_block.htm模板(搜$field[formtype])

*datatype决定该字段的数据展示,类型有:

string,int,date,title,summary,pic;

详见function_block.php中block_template函数

functionfields(){

returnarray(

'

field1'

array('

示例字段1'

formtype'

text'

datatype'

string'

),

field2'

示例字段2'

title'

);

*返回使用本数据类调用数据时的设置项

*title为显示的名称

*type为表单类型,有:

text,password,number,textarea,radio,select,mselect,mradio,mcheckbox,calendar;

详见function_block.php中block_makeform()函数

functiongetsetting(){

param1'

array(

'

数据调用参数1'

type'

default'

'

),

param2'

数据调用参数2'

mcheckbox'

value'

array('

1'

选项1'

2'

选项2'

),

*处理设置参数,返回数据

*返回数据有两种:

*一种是返回html,放到模块summary字段,直接显示;

返回格式为:

html'

=>

返回内容'

data'

null)

*一种是返回data,通过模块样式渲染后展示,返回的数据应该包含fields()函数中指定的所有字段;

array(array('

value1'

),array('

value2'

)))

*特别的:

*parameter参数包含getsetting()提交后的内容;

并附加了字段:

*items,为用户指定显示的模块数据条数;

*bannedids,为用户选择屏蔽某数据时记录在模块中的该数据id。

应该在获取数据时屏蔽该数据;

*

*如果返回的数据给data,那么应该包含fields()函数指定的所有字段。

并附加以下字段:

*id标志该数据的id,如果用户屏蔽某数据时,会将该数据的id添加到parameter[bannedids]里

*idtype标志该数据的idtype

*@param<

$style模块样式(见common_block_style表)。

可以根据模块样式中用到的字段来选择性的获取/不获取某些数据

$parameter用户对getsetting()给出的表单提交后的内容。

functiongetdata($style,$parameter){

//返回summary

p>

这是一个演示模块数据类<

/p>

null);

//返回数据

//需要注意:

除id,idtype,title,url,pic,picflag,summary几个字段外,其它字段需要放到fields数组里。

可以参考系统内置模块类source/class/block/block_thread.php

array(

id'

idtype'

sampleid'

title1'

url'

#'

pic'

nophoto.gif'

picflag'

summary'

fields'

'

));

}

第三方C/S扩展方式

此扩展方式需要第三方提供一个服务端应用程序接口,为使用该服务的客户端提供数据。

服务端提供的数据必需为XML格式的数据,具体的XML规范请参考下面的详细说明。

XML规范

配置规范

∙请示方式

客户端以GET的方式向服务器端提交以下参数请求此XML文档

op=getconfig,此参数表示客户端要请求配置文档;

clientid,客户端ID(服务器分配给客户端的ID);

charset,客户端的数据编码

sign=签名,如果服务器端没有设置通信密钥则此值为空,如果服务器端不使用签名则此值为通信密钥;

签名机制

∙规范内容包括Title和Data部分

oTitle部分

此部分是固定的代码且区分大小写

itemid="

Title"

!

[CDATA[Discuz!

Block]]>

/item>

oData部分

主要包括5个属性

version版本号(必需)

name模块名(必需)

fields可显示的字段,在模块样式中使用(必需)包括以下内容

   name为该字段的显示名称

   formtype决定编辑单条数据时该字段的显示方式:

   datatype决定该字段的数据展示,类型有:

getsetting可设置和接收的参数(必需),包括以下内容

   title为显示的名称

   type为表单类型,有:

style内置的显示样式(非必需)

∙配置规范XML文档示例如下

xmlversion="

1.0"

encoding="

ISO-8859-1"

root>

Data"

<

version"

[CDATA[X1.5]]>

name"

[CDATA[C/S数据类]]>

fields"

<

url"

<

[CDATA[链接地址]]>

formtype"

[CDATA[text]]>

datatype"

[CDATA[string]]>

title"

[CDATA[标题]]>

[CDATA[title]]>

pic"

[CDATA[图片]]>

[CDATA[pic]]>

summary"

[CDATA[简介]]>

[CDATA[summary]]>

author"

[CDATA[作者]]>

authorid"

[CDATA[作者ID]]>

[CDATA[int]]>

field1"

[CDATA[字段1]]>

field2"

[CDATA[字段2]]>

getsetting"

param1"

[CDATA[数据调用参数1]]>

type"

default"

[CDATA[]]>

param2"

[CDATA[数据调用参数2]]>

[CDATA[mcheckbox]]>

value"

<

0"

<

[CDATA[1]]>

1"

[CDATA[选项1]]>

[CDATA[2]]>

[CDATA[选项2]]>

titlelength"

[CDATA[标题长度]]>

[CDATA[40]]>

summarylength"

[CDATA[简介长度]]>

[CDATA[80]]>

start"

[CDATA[起始数据行数]]>

[CDATA[0]]>

style"

[CDATA[模板名称]]>

template"

[CDATA[<

divclass="

moduleclxlxl1"

ul>

[loop]<

li>

em>

ahref="

home.php?

uid={authorid}"

FONTCOLOR="

RED"

{author}<

/FONT>

/a>

/em>

{url}"

{title}<

/li>

[/loop]<

/ul>

/div>

]]>

[CDATA[模板名称红色]]>

fontcolor="

red"

/font>

/root>

数据规范

数据规范分为数据列表和HTML代码

∙数据列表格式

客户端在请求数据时以POST的方式提交客户端设置的参数值,参数值包括在配置规范中可设置和接收的参数getsetting指定的所有字段,除了设置的参数外,系统会以POST的方式追加以下参数:

*op=getdata,此参数表示客户端要请求数据;

*clientid,客户端ID(服务器分配给客户端的ID);

*items,为用户指定显示的模块数据条数;

*bannedids,为用户选择屏蔽某数据时记录在模块中的该数据id,多个id以半角分号(,)分隔。

*charset,客户端的数据编码

*sign,数据签名,如果服务器端没有设置通信密钥则此值为空,如果服务器端不使用签名则此值为通信密钥;

服务器端返回数据的data中应该包含配置规范中可显示的字段fields指定的所有字段。

*id标志该数据的id,如果用户屏蔽某数据时,会将该数据的id以POST的方式变量名为bannedids,多个id以半角逗号(,)分隔提交到服务器端

*picflag如果有图片,则该值标志图片的类型,0为url、1为本地、2为ftp远程;

如果图片是Discuz!

X系统中的图片可以情况设置为1或2,其它情况为0

需要注意:

除id,title,url,pic,picflag,summary几个字段外,其它字段需要放到fields数组里。

数据列表格式示例

html"

data"

id"

[CDATA[14]]>

[CDATA[xml_block_title14]]>

[CDATA[xml_server.php]]>

[CDATA[nophoto.gif]]>

picflag"

[CDATA[xml_user14]]>

[CDATA[field1value14]]>

[CDATA[field2value14]]>

[CDATA[15]]>

[CDATA[xml_block_title15]]>

[CDATA[xml_user15]]>

[CDATA[field1value15]]>

[CDATA[field2value15]]>

oHTML代码格式

例示

divstyle="

border:

1pxsolidred;

width:

100px;

height:

100px;

"

HTMLCODE<

服务端应用程序接口示例

以下提供一个PHP版本的程序示例:

define('

CHARSET'

GBK'

//服务器端数据编码

require'

./source/class/class_xml.php'

//XML格式的文档和array的相互转换的类

error_reporting(7);

$charset=$_GET['

charset'

$_GET['

chars

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2