站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
CMSware发布管理API
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
===构造表单=== 表单的构造跟PublishAPI确切来说是没有关系的,你的表单放哪儿,放在哪个页面中,跟PublishAPI没有直接关系,而对于表单的构造无素,PublishAPI有非常严格的规定,你的表单只要是按照以下的规则构造出来的,那么只要提交到API,都会被正确执行,否则API将无法正确接收到你的表单数据。 表单的构造可以简单到用Dreamware去独立弄一个form.html,在其中手工输入表单的源代码,最终只需要将form的action按照规则指向PublishAPI的index.php文件就行,当然也可以通过CMSware的发布功能,直接在模板中采用普通的CMSWARE模板语法发布出一个具有表单的页面,这儿一般要用到CMSWARE动态发布来发布表单,至于动态发布怎么使用,详情请查看:<nowiki>http://www.cmsware.com/cmsware/manual/source/Manual/part_2/part_2_dongtai.html</nowiki> '''构造表单规则:''' 对于表单所要提交的变量数据,我们可分为三种类型:操作命令变量、自定义变量、系统变量。 '''A、操作命令变量''' 主要为了告诉API需要做什么事,比如action=add这一个操作命令变量,就是告诉API我需要新增一篇文章或内容,建议将所有的操作命令变量写在表单的action属性里,诸如像这样:<nowiki><form action="http://www.cmsware.com/publishapi/index.php?action=add&NodeID=25" ></nowiki> 操作命令变量主要有以下: {|border="1" style="text-align:center;" !变量名 !字段意义 !是否必需 !可选值及说明 |- |action |告诉API应该执行何种操作 |是 | 新增内容:add 编辑修改:edit 删除内容:del 例:action=edit表示编辑操作 |- |NodeID |告诉API应该在哪个结点ID中执行操作 | 新增时:是 编辑:否 删除:否 | 所有CMSware后台中已有的结点号都可使用,当action=add时,该值不可省略,因为API必须知道在哪个节点中新增内容 例:action=add&NodeID=23表示在23号结点中执行新增内容操作 |- |IndexID |告诉API应该对哪一篇内容执行操作 | 新增时:否 编辑:是 删除:是 | 所有CMSware后台中已有的内容的ID号都可使用,当action=edit或del时,该值不可省略,因为API必须知道对于哪一篇内容进行编辑或删除 例:action=del&IndexID=2597表示删除后台中ID号为2597的内容 |- |con |告诉API需要执行的扩展配置文件 |是 | 必须告知API在执行本表单提交时应用哪一个配置,具体使用方法后面会详细介绍 例:action=add&NodeID=3&con=PostBlog表示在第3号结点中新增内容并且需要执行扩展配置目录中的PostBlog.php中的内容 |- |referer |当API执行完操作后,浏览器将会转向该变量指定的地址 |否 | 一般情况下,可以不指定该值,API在执行完操作后,浏览器将会默认转向表单页面,如果config.ini.php文件中配置了默认转向地址,那么将转向该默认地址 例:action=edit&IndexID=7580&con=3&referer= <nowiki>http://www.cmsware.com/edit.php</nowiki>表示当API执行完对ID号为7580的内容编辑完成后[[浏览器]]将转向 <nowiki>http://www.cmsware.com/edit.php</nowiki> |- |FiledName_ImgAutoLocalize |Filed字段是否需要图片本地化 |否 | 只有当您想提交的字段,在CMSware后台内容模型中字段输入类型设置为RichEditor时,该操作变量才有效。 例:默认的新闻模型中,Content字段的输入类型为RichEditor,我们此时可以把Content_ImgAutoLocalize设为1一起提交到API,那么Content字段中的图片将会被自动本地化,设为其它任何值,都将不会进行图片本地化操作 |} '''B、 自定义变量''' 自定义变量指的是在CMSware后台里的系统设置里的内容模型设置里定义的变量(通俗一点讲在内容模型里看得到的字段就属于自定义变量) 例如:默认新闻模型中的Title,Author,Content之类的,在表单构造时只需要简单的向以下这样构造表单元素 <pre> <input name="Title" type="text" value="技术幻想AT在深夜为PublishAPI写帮助文件" /> <input name="Author" type="text" value="技术幻想" /> <textarea name="Content">今天真是不幸,因为天气太热了,所以睡不着,于是乎来写帮助文件</textarea> </pre> 其实主要的数据也即是在自定义变量中体现的,另外两种类型的数据都只是辅助。 '''C、系统变量''' 在表单中除了可以提交操作变量和自定义变量外,还可提交系统变量,比如发布日期,最后修改用户等等,像这样的变量就是非自定义变量,在内容模型中是看不见的!建议一般情况下将这一类型的变量用<nowiki><input type="hidden" name="PublishDate" value="1125412321" /></nowiki>来提交。 可被提交的系统字段值主要有以下: {|border="1" style="text-align:center;" !变量名 !字段意义 !是否必需 !可选值及说明 |- |PublishDate |内容发布时间 |否 | 请采用[[Unix]] 时间戳格式(自January 1 1970 00:00:00 GMT 起的秒数),应该是一个10位的数字,如果不指定该值,那么API将把内容发布时间设置为API被执行时的当前时间。 重点提示:在编辑操作时,如果更改了该值,可能会造成发布出的静态页面文件不会覆盖掉编辑前的静态页面,因为有些结点发布出的静态页面可能保存在以时间为划分规则的目录中 |- |CreationDate |内容创建时间 |否 | 请采用Unix 时间戳(自January 1 1970 00:00:00 GMT 起的秒数)格式,如果不指定该值,那么API将把内容创建时间设置为API被执行时的当前时间 |- |ModifiedDate |内容修改时间 |否 | 请采用Unix 时间戳(自January 1 1970 00:00:00 GMT 起的秒数)格式,如果不指定该值,那么API将把内容修改时间设置为API被执行时的当前时间 |- |CreationUserID |建立内容的用户ID |否 | 使用的是CMSWARE后台中的用户uId,各用户的uId可在CMSware数据库中的cmsware_user表里查询,如果未指定,API将会默认采用config.ini.php文件中定义的默认用户ID |- |LastModifiedUserID |最后修改内容的用户ID |否 | 使用的是CMSWARE后台中的用户uId,各用户的uId可在CMSware数据库中的cmsware_user表里查询,如果未指定,API将会默认采用config.ini.php文件中定义的默认用户ID |- |Top |置顶权重 |否 |请使用纯数字,不指定时默认为0 |- |Pink |精华权重 |否 |请使用纯数字,不指定时默认为0 |- |SelfTemplate |自定义套用[[模板]] |否 | 相对于 CMSware模板目录的路径 例如:/default/index.html 具体参照<nowiki>http://www.cmsware.com/cmsware/manual/</nowiki> |- |SelfPublishFileName |自定义发布文件名 |否 |具体参照<nowiki>http://www.cmsware.com/cmsware/manual/</nowiki> |- |SelfPSN |自定义发布点(PSN) |否 |具体参照<nowiki>http://www.cmsware.com/cmsware/manual/</nowiki> |- |SelfPSNURL |自定义发布[[URL]] |否 |具体参照<nowiki>http://www.cmsware.com/cmsware/manual/</nowiki> |- |SelfURL |自定义外部URL |否 |具体参照<nowiki>http://www.cmsware.com/cmsware/manual/</nowiki> |} 注意:系统变量值可以在扩展配置文件中统一定义,例如:在PostBlogk号扩展配置中设置了$var[PublishDate]=1164070110,那么任何采用了PostBlog扩展配置的API操作都将把发布时间设置为[[2006年]]11月21日08点48分30秒,并且在扩展配置文件中的变量定义权重大于外部表单中提交的变量,也就是说如果外部表单中和扩展配置文件中同时都定义了某一个相同的值,API将以扩展配置文件中的为准,这样在设计时,管理员可以将一些用户不可提交或者不可修改的字段全部写死在扩展配置文件中。 *'''提交数据:''' :当外部表单中的数据已被填写,准备提交时,建议根据上面的介绍,使用JS首先作一些初步的数据判断,以免增加不必要的误操作。比如:IndexID和NodeID的取值范围,不能同时为空,action的值不同时对于二者的是否必需填写的要求也不同等等 :对于默认的新闻模型的Title字段,应该使得Title的value的length不大于250等等 :诸如此类的,建议在外部表单页面中就判断,因为每一个用户的需求不同,在此就不一一举例了。但有一点需要说明:在PublishAPI里只是作了一些必要的、可能会影响程序正常运行的数据判断,其它的都请管理员自行在扩展配置文件中处理判断。 '''PublishAPI接收表单值''' :该步骤主要为API自身完成,不需要人为干预。 '''判断传入的各值的合法性''' :此处API本身也会作一些必要的数据合法性检查,比如是否传入了正确的扩展配置文件名,并且相对应的扩展配置文件存在并且定义正确(扩展配置在后面详细说明),在API本身数据检查完成后,还将执行扩展配置文件中定义的数据检测或是其它功能流程 '''根据传入的操作命令值执行不同的操作''' :根据传入的action值不同,API将执行不同的操作,该步骤不须干预,在API的操作执行完后,流程将会执行最后一个步骤 '''完成操作跳转到指定页面''' :在API即将完成历史使命并跳转页面前,将会执行扩展配置文件中的$action_end过程。 :执行完扩展配置里定义的功能流程后,浏览器将会根据$referer的值跳转,至此,整个PublishAPI流程结束。
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)