站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
CMSware发布管理API
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
==四、使用方法== 任何的表单想要执行API中提供的操作,都必须要告知其所要使用的扩展配置名称,并且该扩展配置文件必须存在 所有的扩展配置文件都必须存放于config目录中,比如con=PostNews,那么在config目录中就必须有一个PostNews.php的文件存在,否则将会出错,至于在PostNews.php中该写什么东西,后面介绍 我们先来看一下PublishAPI最简单的应用(扩展配置文件中什么也不做、不定义$referer,不提交任何的系统变量): 我们从外部页面中新增一篇文章到后台中的1号结点里,1号结点采用了默认的新闻模型,并且设置了自动发布,我们假设PublishAPI的地址为:<nowiki>http://www.cmsware.com/publishapi/</nowiki>,接下来我们随便弄个表单页: <pre> <form action="http://www.cmsware.com/publishapi/index.php?NodeID=1&action=add&con=PostNews" method="post" enctype="multipart/form-data" name="form1" target="_self"> 标题:<input name="Title" type="text" size="50" maxlength="250" /><br /> 标题颜色:<input name="TitleColor" type="text" size="10" maxlength="7" /><br /> 作者:<input name="Author" type="text" size="20" maxlength="20" /><br /> 新闻图片:<input name="Photo" type="text" size="50" maxlength="250" /><br /> 新闻内容:<textarea name="Content" cols="50" rows="10"></textarea><br /> 关键字:<input name="Keywords" type="text" size="50" maxlength="250" /><br /> 副标题:<input name="SubTitle" type="text" size="50" maxlength="250" /><br /> 来源网站:<input name="FromSite" type="text" size="50" maxlength="250" /><br /> 责任编辑:<input name="Editor" type="text" size="20" maxlength="20" /><br /> 简介:<textarea name="Intro" cols="50" rows="7"></textarea> <br /> <br /> <input type="submit" name="Submit" value="提交" /> </form> </pre> 这样我们的表单已经构造完成,现在只需要在PublishAPI的config目录中,新建一个名称为PostNews.php的空文件即可。 以上是PublishAPI最简单的应用,下面我们用另一张表单来删除我们刚刚发布的这篇文章,并且我们需要让API删除后会自动跳转到<nowiki>http://www.cmsware.com/bbs</nowiki>:(这里我们假设刚刚新增的文章的IndexID号为9527): <pre> <form action="http://www.cmsware.com/publishapi/index.php?action=del&referer=http://www.cmsware.com/bbs&con=PostNews" method="post" enctype="multipart/form-data" name="form1" target="_self"> 是否删除:<input name="IndexID" type="radio" value="9527" /> <br /> <br /> <input type="submit" name="Submit" value="删除" /> </form> </pre> 当然我们也可以使用更简单的办法: <pre> <a href="http://www.cmsware.com/publishapi/index.php?IndexID=9527&action=del&referer=http://www.cmsware.com/bbs&con=PostNews">删除IndexID=9527的文章 </a> </pre> (因为PostNews.php在上面我们已经建立了,这儿继续使用) 以上是最简单的添加和删除,我们看一下编辑: 因为很多人对于编辑这一步骤非常迷惑,不明白怎么来生成这个表单,在此我们通过一个简单的例子来介绍编辑的应用,按理说来,这是在CMSWARE手册中有详细介绍的,但是为了消除大家的迷惑,我举下面这个简单的例子来让大家明白怎么让CMSWRAE发布出一个适时生成的符合PublishAPI规则的编辑表单。 比如我现在希望在前台中列出刚刚我们新增的1号结点的文章,并且使得前台用户可以编辑这些文章,这里我们假设我的网站[[域名]]为<nowiki>http://www.cmsware.com</nowiki>,PublishAPI的URL为<nowiki>http://www.cmsware.com/publishapi/?</nowiki> ,CMSware的Publish目录的URL为<nowiki>http://www.cmsware.com/publish/</nowiki> 1 、我们新建一个结点(假设这个结点的ID为2),结点名称为:列出文章,发布模式设置为“动态发布”,结点首页入口URL设置为<nowiki>http://www.cmsware.com/publish/index_nc.php/{NodeID}</nowiki>,{Page}.html (index_nc.php是无缓存的动态发布) ,内容页入口URL随便填,无所谓, 首页模板使用/cmsware/index_2.html 2、我们再新建一个结点(假设这个结点的ID为3),结点名称为:编辑文章,发布模式设置为“动态发布”,结点首页入口URL设置为<nowiki>http://www.cmsware.com/publish/index_nc.php/{NodeID}</nowiki>,{Page}.html,内容页入口URL随便填,无所谓, 首页模板使用/cmsware/index_3.html 3、编辑index_2.html,代码如下(单纯的CMSWARE语法) <pre> <CMS action="List" return="list" NodeID="1" num="" /> <LOOP name="list" var="var" key="key"> <a href="[$var.URL]" target="_blank">[$var.Title]</a> <a href="http://www.cmsware.com/publish/index_nc.php/3,0,[$var.IndexID].html" target="_blank">编辑该文章</a><br /> </LOOP> </pre> 这样发布出一个每篇文章后面都会有一个“编辑该文章”的文章列表页,我们可以通过 <nowiki>http://www.cmsware.com/publish/index_nc.php/2,0.html</nowiki> 访问该列表页,而该列表页的所有“编辑”的链接都指向了3号结点的首页,也就是结点名称为“编辑文章”的这个结点的首页,而我们为什么可以指向同一个页面呢?这里就是动态发布的自定义字段在发挥优势了,我们在每一个 “编辑”的链接里多加了一个[$var.IndexID]的值,而这个值是可以在3号结点的模板中引用的,对于这个地方有任何不懂的,请参照:<nowiki>http://www.cmsware.com/cmsware/manual/source/Manual/part_2/part_2_dongtai.html</nowiki> OK,接下来我们看我们怎么编辑3号结点的模板: 4、编辑index_3.html,代码如下(同样是单纯的CMSWARE语法,不过多了一个自定义值而已): <pre> <if test="empty($Custom1)"> IndexID为空,请正确传入文章ID <else> <CMS action="CONTENT" return="var" IndexID="{$Custom1}" /> <form action="http://www.cmsware.com/publishapi/index.php?IndexID=[$var.IndexID]&action=edit&referer=http://www.cmsware.com/publish/index_nc.php /2,0.html&con=PostNews" method="post" enctype="multipart/form-data" name="form1" target="_self"> 标题:<input name="Title" type="text" size="50" maxlength="250" value="[$var.Title]" /><br /> 标题颜色:<input name="TitleColor" type="text" size="10" maxlength="7" value="[$var.TitleColor]" /><br /> 作者:<input name="Author" type="text" size="20" maxlength="20" value="[$var.Author]" /><br /> 新闻图片:<input name="Photo" type="text" size="50" maxlength="250" value="[$var.Photo]" /><br /> 新闻内容:<textarea name="Content" cols="50" rows="10">[$var.Content]</textarea><br /> 关键字:<input name="Keywords" type="text" size="50" maxlength="250" value="[$var.Keywords]" /><br /> 副标题:<input name="SubTitle" type="text" size="50" maxlength="250" value="[$var.SubTitle]" /><br /> 来源网站:<input name="FromSite" type="text" size="50" maxlength="250" value="[$var.FormSite]" /><br /> 责任编辑:<input name="Editor" type="text" size="20" maxlength="20" value="[$var.Editor]" /><br /> 简介:<textarea name="Intro" cols="50" rows="7">[$var.Intro]</textarea> <br /> 置顶:<input name="Top" type="text" size="20" maxlength="20" value="[$var.Top]" /><br /> 精华:<input name="Pink" type="text" size="20" maxlength="20" value="[$var.Pink]" /><br /> 自定义发布文件名:<input name="SelfPublishFileName" type="text" size="20" maxlength="20" value="[$var.SelfPublishFileName]" /><br /> <br /> <input type="submit" name="Submit" value="提交" /> </form> </if> </pre> 在3号结点首页里,将会首先判断是否有$Custom1值传入,我们这个例子中的$Custom1就是index_2.html中的[$var.IndexID],如果没有Custom1传入,则输出“IndexID为空,请正确传入文章ID”,如果有,则调用IndexID为$Custom1的值的文章数据生成一个编辑的表单,这个表单是按照本文档上面部份说明的规则而设计的,并且以紫色显示的代码表示了还可以让用户更改文章的置顶和精华,和自定义发布文件名这些系统变量。最后如果用户编辑好后,提交,API处理成功后,还会自动跳转到<nowiki>http://www.cmsware.com/publish/index_nc.php/2,0.html</nowiki>,因为我们定义了referer的值,这样,一个简单的外部编辑就实现了。 通过以上例子,相信大家明白了,构造表单这个步骤跟PublishAPI其实是没有多少关联的,只需要按照规则去做就可以,至于你是怎么生成的表单,PublishAPI并不关心。
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)