账号通
    

账号  

密码  

3842

查看

3

回复
主题:增加文章管理可单条发布和批量发布功能 [收藏主题] 本贴被认定为精华 转到:  
bbswing 当前离线

214

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:1979 分
登录次数:104 次
注册时间:2008/4/23
最后登录:2014/10/23
bbswing 发表于:2008/9/6 11:38:00   | 显示全部帖子 查看该作者主题 楼主 
科汛在线考试系统(NET)

当模型允许生成静态页面时,管理页面如下:


 



此主题相关图片如下:001.jpg
001.jpg


 


不允许生成静态页面时如下:


 



此主题相关图片如下:002.jpg
002.jpg


 


修改方法:


 


打开


admin/Include/RefreshHtmlSave.asp


 


找到


 


Case "ID"
ID=KS.G("ID")
'R_Sql = "Select top 2 * from " & Table  & R_Sql & " and ID<=" & ID & " Order By ID desc"
R_Sql="Select Top 2 * From " & Table & R_SQL&" and ID IN(Select top 2 id from " & Table & R_Sql & " And ID<=" & id & " Order By ID Desc) Order By ID"
RefreshTotalNum=conn.execute("select count(id) from " & Table  &" where verific=1 and ID<=" & ID)(0)
If RefreshTotalNum>2 Then RefreshTotalNum=2


 


在下面添加:


 


Case "BatchInfo"
IDS=KS.G("IDS")
R_Sql="Select * From " & Table & " Where Verific=1 and ID IN("&IDS&") Order By ID"
RefreshTotalNum=conn.execute("Select count(id) From " & Table & " Where Verific=1 and ID IN("&IDS&")")(0)


 


打开


 


KS_Cls/Kesion.PublicCls.asp


 


增加一个函数来判断当前模型是否允许发布静态页面


 


Function IsAllowPublish(CHID)
Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
RS.Open "Select FsoHtmlTF from KS_Channel where ChannelID="&CHID,conn,1,1
IsAllowPublish=RS(0)
RS.Close:Set RS=Nothing
End Function



在admin/KS.Article.asp中找到:



.Write "<li class='parent'><span class=child onmouseover=""this.parentNode.className='parent_border'"" onMouseOut=""this.parentNode.className='parent'"" title=""加入专题""  onClick=""AddToSpecial();""><img src='images/ico/as.gif' border='0' align='absmiddle'>加入专题</span></li>"


 


在下面加上一行:


 


if KS.IsAllowPublish(ChannelID)="1" then
.Write "<li class='parent'><span class=child onmouseover=""this.parentNode.className='parent_border'"" onMouseOut=""this.parentNode.className='parent'"" title=""批量发布""  onClick=""BatchPublish();""><img src='images/ico/verify.gif' border='0' align='absmiddle'>发布</span></li>"
end if


 




.Write "<li></li><div><select OnChange=""location.href='KS.Article.asp?ComeFrom=" & ComeFrom & "&ChannelID=" & ChannelID & "&id='+this.value;parent.frames['BottomFrame'].location.href='KS.Split.asp?ButtonSymbol=ViewFolder&FolderID='+this.value;"" style='width:100px' name='id'>"



改为



.Write "<li></li><div><select OnChange=""location.href='KS.Article.asp?ComeFrom=" & ComeFrom & "&ChannelID=" & ChannelID & "&id='+this.value;parent.frames['BottomFrame'].location.href='KS.Split.asp?ButtonSymbol=ViewFolder&FolderID='+this.value;"" style='width:90px' name='id'>"



找到



Response.Write (" <a href=""?Action=Recely&Page=" & Page & "&" & SearchParam & "&ID=" & SQL(0,I) & """ onclick=""return (confirm('确定将该" & KS.C_S(ChannelID,3) & "放入回收站吗?'))"">回收站</a>")
End If
Else



在下面添加:
if KS.IsAllowPublish(ChannelID)="1" then
PublishStr="<a href='Include/RefreshHtmlSave.asp?Types=Content&RefreshFlag=InfoID&ChannelID=" & ChannelID &"&StartID="&SQL(0,I)&"&EndID="&SQL(0,I)&"'>生成</a> | "
Else
PublishStr=""
End if


 


接着将下面这段



.Write (" <a href='?Page=" & Page & "&Action=Edit&" &SearchParam&"&ID=" & SQL(0,I) & "' onclick='parent.frames[""BottomFrame""].location.href=""KS.Split.asp?ChannelID=" & ChannelID &"&ComeFrom="&ComeFrom&"&OpStr="&Server.URLEncode("编辑" & KS.C_S(ChannelID,3)) & "&ButtonSymbol=AddInfo&FolderID=" & ID & """;'>修改</a> | <a href=""?Action=Recely&Page=" & Page & "&" & SearchParam & "&ID=" & SQL(0,I) & """ onclick=""return (confirm('确定将该" & KS.C_S(ChannelID,3) & "放入回收站吗?'))"">回收站</a>")



改为
.Write (PublishStr&"<a href='?Page=" & Page & "&Action=Edit&" &SearchParam&"&ID=" & SQL(0,I) & "' onclick='parent.frames[""BottomFrame""].location.href=""KS.Split.asp?ChannelID=" & ChannelID &"&ComeFrom="&ComeFrom&"&OpStr="&Server.URLEncode("编辑" & KS.C_S(ChannelID,3)) & "&ButtonSymbol=AddInfo&FolderID=" & ID & """;'>修改</a> | <a href=""?Action=Recely&Page=" & Page & "&" & SearchParam & "&ID=" & SQL(0,I) & """ onclick=""return (confirm('确定将该" & KS.C_S(ChannelID,3) & "放入回收站吗?'))"">回收站</a>")



在300行左右找个位置增加一个JS函数:
function BatchPublish(){
var ids=get_Ids(document.myform);
if(ids!=''){    
var ids_array=ids.split(',');
if(confirm("确定要发布所选择的内容吗?")){
window.location='Include/RefreshHtmlSave.asp?Types=Content&RefreshFlag=BatchInfo&ChannelID=<%=ChannelID%>&IDS='+ids_array;
}
}else{
alert('请选择要发布的<%=KS.C_S(ChannelID,3)%>!');
}
}


 


 


搞定!!!


 

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
bbswing 当前离线

214

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:1979 分
登录次数:104 次
注册时间:2008/4/23
最后登录:2014/10/23
bbswing 发表于:2008/9/6 15:24:00   | 显示全部帖子 查看该作者主题 沙发 
科汛在线考试系统(NET)
之前的方法有一点错误,如果勾选两条要发布的内容,则会发布ID在这两条内容ID之间的所有内容,已经修正。
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
bbswing 当前离线

214

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:1979 分
登录次数:104 次
注册时间:2008/4/23
最后登录:2014/10/23
bbswing 发表于:2008/9/6 11:39:00   | 显示全部帖子 查看该作者主题 藤椅 
做在线知识付费 选科汛云开店

其他几个模型的修改方法是一样的

只要对应KS.Article.asp修改

KS.Shop.asp、KS.Down.asp、KS.Picture.asp

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行3.75000秒 powered by KesionCMS 9.0