CMSware外部投稿
查看全部词条命名空间:Main
导航:返回上一页
外部投稿功能允许匿名用户通过该接口向网站允许投稿的栏目投稿。一个栏目是否允许投稿我们已在该栏目的结点设置-稿件工作流套用设定过。设定为投稿即发布时提交以后不会有返回值,即返回为空白页。
界面示例:

说明
(1)前台接口
{PUBLISH_URL}/contribution.php?参数1=X&参数2=Y&参数3=Z
可用参数:
#TableID:内容模型ID,用于定位投稿录入界面模版(新闻投稿、软件下载投稿的录入界面都是不同的)
#TargetNodeID:投稿目标结点ID
#Tpl:指定投稿所用的模版名称,模版名称需要以“.html”做后缀。比如现在使用{templates}/plugins/contribution 下的test.html模版,参数就是Tpl=test.html,当然,系统支持参数中省略掉.html类型的模版的后缀名(其它类型的模版文件不可省略),即Tpl=test.html可以这样写:Tpl=test
#o:o=do即提交投稿
功能定义:
显示投稿界面:
contribution.php?TableID=?
提交投稿数据:
GET:
contribution.php?o=do&TableID=?&TargetNodeID=?
POST:实际投稿数据,表单输入字段名格式为“data_内容模型字段名”,比如“Title”和“Content”字段的表单输入字段名为 “data_Title”、“data_Content”
使用举例:
使用test.html作为新闻模型的投稿录入模版:
contribution.php?TableID=1&Tpl=test.html
也可以简写为
contribution.php?TableID=1&Tpl=test
使用新闻模型的默认自定义模版:contribution.php?TableID=1
(2)模版定义
:*模版目录位于:{templates}/plugins/contribution
:*default.html :默认模版,当内容模型自定义模版不存在时,使用该模版
:*error.html :默认投稿成功以后的返回页面,你可以修改这个模版设置自己的返回页面
:*contribution_{TableID}.html :内容模型默认自定义模版,{TableID}为内容模型TableID
比如我们在{templates}/plugins/contribution下定义一个contribution_1.html,新闻模型投稿默认使用
系统使用模版的优先顺序:自定义模版(Tpl),内容模型自定义模版(contribution_{TableID}.html),默认模版(default.html)
(3)模版制作
简单的讲,我们要把一个做好的html表单修改成一个投稿模版要做以下几件事情:加form,选结点,改name,添ID,留主体
1.加form即我们先用一个form把要提交的表单用一个form包起来
2.选结点就是要指定投稿到哪个结点。注意:我们必须保证所指定的结点是允许投稿的,
如下是指定投稿到结点ID为12的结点
如下是显示允许投稿的结点列表供我们选择
3.改name
必须把表单中的各类类似
这里的name部分值前全部加上data_,这是一个强制的系统约定,不可更改。也就是在模版中这部分的代码必须改为
4.添ID.所有的提交项除了name以外还必须有一个和name一样的ID,这是系统的强制约定。我们上面的这段代码
在最终模版中应该是如下这样的:
5.留主体。html页面中除了上述部分需要修改以外,其余部分原样保留,不需要变动什么
下面给出一个完整的例子:
比如我们做好了如下的一个静态页面提交表单, 要将其改为投稿模版,其代码为
|
我们将其修改为如下的投稿模版:
表单效果示例:
