1、type */ function name() return 示例数据类; * 返回一个数组: 第一个值为本数据类所在的模块分类;第二个值为模块分类显示的名称(显示在 DIY 模块面板) function blockclass() return array(sample, 示例分类); * 返回数据类中可供“模块样式”使用的字段。 * 格式见示例: * name 为该字段的显示名称 * formtype 决定编辑单条数据时该字段的显示方式: 类型有: text, textarea, date, title, summary, pic; 详见 portalcp_block.htm 模板(搜 $f
2、ieldformtype ) * datatype 决定该字段的数据展示,类型有: string, int, date, title, summary, pic; 详见 function_block.php 中 block_template 函数 function fields() return array( field1 array(示例字段1formtypetextdatatypestring),field2示例字段2title ); * 返回使用本数据类调用数据时的设置项 * title 为显示的名称 * type 为表单类型, 有: text, password, number, te
3、xtarea, radio, select, mselect, mradio, mcheckbox, calendar; 详见 function_block.php 中 block_makeform() 函数 function getsetting() param1 array( 数据调用参数1,typedefault ),param2数据调用参数2mcheckboxvalue array(1选项12选项2 ), * 处理设置参数,返回数据 * 返回数据有两种: * 一种是返回 html,放到模块 summary 字段,直接显示; 返回格式为:html=返回内容datanull) * 一种是返
4、回 data,通过模块样式渲染后展示,返回的数据应该包含 fields() 函数中指定的所有字段;array(array(value1), array(value2) * 特别的: * parameter 参数包含 getsetting() 提交后的内容; 并附加了字段: * items ,为用户指定显示的模块数据条数; * bannedids ,为用户选择屏蔽某数据时记录在模块中的该数据 id。 应该在获取数据时屏蔽该数据; * * 如果返回的数据给 data, 那么应该包含 fields() 函数指定的所有字段。并附加以下字段: * id 标志该数据的 id,如果用户屏蔽某数据时,会将该数
5、据的 id 添加到 parameterbannedids 里 * idtype 标志该数据的 idtype * param 这是一个演示模块数据类 null); / 返回数据 / 需要注意: 除 id,idtype, title, url, pic, picflag, summary 几个字段外,其它字段需要放到 fields 数组里。 可以参考系统内置模块类 source/class/block/block_thread.php array(ididtypesampleidtitle1url#picnophoto.gifpicflagsummaryfields ) ) );第三方 C/S 扩
6、展方式 此扩展方式需要第三方提供一个服务端应用程序接口,为使用该服务的客户端提供数据。服务端提供的数据必需为 XML 格式的数据,具体的 XML 规范请参考下面的详细说明。XML 规范 配置规范 请示方式 客户端以 GET 的方式向服务器端提交以下参数请求此 XML 文档 op=getconfig,此参数表示客户端要请求配置文档; clientid,客户端ID(服务器分配给客户端的ID); charset,客户端的数据编码 sign=签名,如果服务器端没有设置通信密钥则此值为空,如果服务器端不使用签名则此值为通信密钥;签名机制 规范内容包括Title和Data部分 o Title部分 此部分是
7、固定的代码且区分大小写 item id=Title!CDATADiscuz! Block/item o Data部分 主要包括5个属性 version 版本号(必需)name 模块名(必需)fields 可显示的字段,在模块样式中使用(必需)包括以下内容name 为该字段的显示名称formtype 决定编辑单条数据时该字段的显示方式:datatype 决定该字段的数据展示,类型有:getsetting 可设置和接收的参数(必需),包括以下内容title 为显示的名称type 为表单类型, 有:style 内置的显示样式(非必需) 配置规范 XML 文档示例如下 xml version=1.0
8、encoding=ISO-8859-1rootData nameCDATAC/S 数据类fields url formtypeCDATAtextdatatypeCDATAstringtitleCDATA标题CDATAtitlepicCDATA图片CDATApicsummaryCDATA简介CDATAsummaryauthorCDATA作者authoridCDATA作者IDCDATAintfield1CDATA字段1field2CDATA字段2getsettingparam1CDATA数据调用参数1typedefaultCDATAparam2CDATA数据调用参数2CDATAmcheckboxv
9、alue 0 1CDATA选项1CDATA2CDATA选项2titlelengthCDATA标题长度CDATA40summarylengthCDATA简介长度CDATA80startCDATA起始数据行数CDATA0styleCDATA模板名称templateCDATAloopema href=home.php?uid=authoridFONT COLOR=REDauthor/a/emurltitle/loop/divCDATA模板名称红色font color=red/font/root数据规范 数据规范分为数据列表和HTML代码 数据列表格式 客户端在请求数据时以 POST 的方式提交客户端
10、设置的参数值,参数值包括在配置规范中可设置和接收的参数 getsetting 指定的所有字段,除了设置的参数外,系统会以 POST 的方式追加以下参数:* op=getdata ,此参数表示客户端要请求数据;* clientid ,客户端ID(服务器分配给客户端的ID);* items ,为用户指定显示的模块数据条数;* bannedids ,为用户选择屏蔽某数据时记录在模块中的该数据 id,多个 id 以半角分号(,)分隔。* charset,客户端的数据编码* sign ,数据签名,如果服务器端没有设置通信密钥则此值为空,如果服务器端不使用签名则此值为通信密钥;服务器端返回数据的 data
11、 中应该包含 配置规范中可显示的字段 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 数组里。数据列表格式示例 htmldatai
12、dCDATA14CDATAxml_block_title14CDATAxml_server.phpCDATAnophoto.gifpicflagCDATAxml_user14CDATAfield1value14CDATAfield2value14CDATA15CDATAxml_block_title15CDATAxml_user15CDATAfield1value15CDATAfield2value15o HTML 代码格式 例示 div style=border:1px solid red;width:100px; height: 100px;HTML CODE服务端应用程序接口示例 以下提供一个 PHP 版本的程序示例:define(CHARSETGBK /服务器端数据编码require ./source/class/class_xml.php /XML格式的文档和array的相互转换的类error_reporting(7);$charset = $_GETcharset $_GETchars
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2