知识 分享 互助 懒人建站

    懒人建站专注于网页素材下载,提供网站模板、网页设计、ps素材、图片素材等,服务于【个人站长】【网页设计师】和【web开发从业者】的代码素材与设计素材网站。

    懒人建站提供网页素材下载、网站模板
    知识 分享 互助!

    kingcms for asp技巧集合

    作者:佳明妈 来源:kingcms技术论坛 2009-10-17 人气:
    kingcms技巧:kingcms for asp技巧集合,KingCMS高级应用,防爆FCKEDITOR的上传代码,{{king}}双重循环BUG,在KingCMS 5.0中增加了双层循环的标签使用,但是在列表模板中使用之后发现没有输出内容,打开源

    一、防爆FCKEDITOR的上传代码
    文件:admin/system/editor/FCKeditor/editor/filemanager/connectors/asp/config.asp
    查找Dim ConfigIsEnabled
    改为:

    1. Dim ConfigIsEnabled 
    2. [color=Red]ConfigIsEnabled = False '将文件上传功能关闭 
    3. If request.cookies("FCKeditor")="ok" Then ConfigIsEnabled = True '验证成功后再打开[/color]

    同时把
    admin/system/login.asp

    1.     conn.execute "update kingadmin set admindate='"&tnow&"',admincount=admincount+1 where adminname='"&safe(adminname)&"';" 
    2.     conn.execute "insert into kinglog (adminname,lognum,ip,logdate) values ('"&safe(adminname)&"',1,'"&safe(ip)&"','"&tnow&"')" 
    3.     response.cookies(md5(king_salt_admin,1))("name")=adminname 
    4.     response.cookies(md5(king_salt_admin,1))("pass")=adminpass'newpass 
    5.     response.cookies(md5(king_salt_admin,1)).path = "/" 
    6. [color=Red]    response.cookies("FCKeditor")="ok" '加入这一句[/color] 
    7.     response.redirect "manage.asp"

    二、含FLASH动态展示

    1. (king:image width="298" height="226"/) 
    2.  
    3. <scritp type="text/javascript">
    4. <!--
    5.         var pics='',links='',texts=''; 
    6.         {king:article number="7" type="head"} 
    7.         pics+='|(king:image width="298" height="226"/)'; 
    8.         links+='|(king:path/)'; 
    9.         texts+='|(king:title code="js"/)'; 
    10.         {/king} 
    11.         pics=pics.substring(1); 
    12.         links=links.substring(1); 
    13.         texts=texts.substring(1); 
    14.         var interval_time=5 //图片停顿时间,单位为秒,为0则停止自动切换 
    15.         var focus_width=298 //宽度 
    16.         var focus_height=226 //高度 
    17.         var text_height=20 //标题高度 
    18.         var text_align= 'center' //标题文字对齐方式(left、center、right) 
    19.         var swf_height = focus_height+text_height //相加之和最好是偶数,否则数字会出现模糊失真的问题 
    20.         ('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="<A href="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+ focus_width +'" height="'+ swf_height +'">'); 
    21.         ('<param name="movie" value="images/pixviewer.swf"><param name="quality" value="high"><param name="bgcolor" value="#ffffff">'); 
    22.         ('<param name="menu" value="false"><param name=wmode value="opaque">'); 
    23.         ('<param name="FlashVars" value="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'&text_align='+text_align+'&interval_time='+interval_time+'">'); 
    24.         ('<embed src="images/pixviewer.swf" wmode="opaque" FlashVars="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'&text_align='+text_align+'&interval_time='+interval_time+'" menu="false" bgcolor="#ffffff" quality="high" width="'+ focus_width +'" height="'+ swf_height +'" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="<A href="http://www.macromedia.com/go/getflashplayer">http://www.macromedia.com/go/getflashplayer" />'); 
    25.         ('</object>'); 
    26.         //--> 
    27. </scritp>

    三、{{king}}双重循环BUG

    在KingCMS 5.0中增加了双层循环的标签使用,但是在列表模板中使用之后发现没有输出内容,打开源码后发现“KingCMS Tag Error”,看来这是一个小Bug。
    文章模块的帮助中双层循环的原文:
    {{king:article listid="sub"}}
      栏目列表:{king:listname/}
      {king:article type="new" number="20" listid="current"}
        文章标题:(king:title/)
        文章路径:(king:path/)
        所属栏目: (king:listname/)
      {/king}
    {{/king}}
    解决办法如下:
    找到“/page/article/fun.asp”这个文件,搜索“king_tag_article_getsublist”,不出意外的话应该在最下面,做以下修改:
    把“I1=" and listid in ("&I1&")"”和“I1=" and listid=0"”这2行中的“and”去掉即可。
    你再试试看看行不行……
    当一个栏目下有多个分类时就可以这样调用了:
    1. {{king:article listid="sub"}} 
    2.     <div id="news_sort"> 
    3.         <div class="news_title"><span><a href="{king:listpath/}">更多>></a></span><h3 title="{king:listname/}">{king:listname/}</h3></div> 
    4.         <ul> 
    5.             {king:article number="10" listid="current"} 
    6.             <li><span>(king:date mode="yyyy-MM-dd"/)</span>· <a href="(king:path/)" target="_blank" title="(king:title/)">(king:title size="40"/)</a></li> 
    7.             {/king} 
    8.         </ul> 
    9.     </div> 
    10. {{/king}}

    四、KingCMS增加随机文章标签rnds,官方中的说明:
    打开page/Article/fun.asp
    在826行之后增加一下代码:
    case"rnds"'随机
     insql="select top "&tnumber&sql&" from kingart where artshow=1 "&insql_id&insql_key&insql_img&" order by rnd(-(id+"&rnd()&"));"

    模板调用{king:article number="10" type="rnds"}
    调用结果:10条随机文章,支持指定栏目文章随机,具体请参考KingCMS后台模块帮助。
    注:“rnd(-(id+"&rnd()&"))”其中的“id”应为“artid”,或者“rnd(artid)”也可以 !

    五、广告模块自动生成广告代码

    广告模块自动生成广告代码并且添加上传文件系统
     


    打开admin/ad/index.asp
    在最后加入:

    1. Sub writescript()
       
    2. Il "<scritp>" &vbcrlf
       
    3. Il "var vchar1" &vbcrlf
       
    4. Il "  function assign1(vchar1){" &vbcrlf
       
    5. Il "   if (vchar1==""img"")   {" &vbcrlf
       
    6. Il "   form1.adtext.value = ""<a href='""+form1.adlink.value+""' target='_blank'><img src='""+form1.artimg.value+""' width='""+form1.adwidth.value+""' height='""+form1.adheight.value+""' border='0'></a>"";" &vbcrlf
       
    7. Il "   }" &vbcrlf
       
    8. Il "   else if (vchar1==""flash"")   {" &vbcrlf
       
    9. Il "   form1.adtext.value = ""<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width=""+form1.adwidth.value+"" height=""+form1.adheight.value+""><param name='movie' value=""+form1.artimg.value+""><param name='quality' value='high'><embed src='""+form1.artimg.value+""' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width=""+form1.adwidth.value+"" height=""+form1.adheight.value+""></embed></object>"";" &vbcrlf
       
    10. Il "   }" &vbcrlf
       
    11. Il "  }" &vbcrlf
       
    12. Il "</scritp>" &vbcrlf
       
    13. End Sub
       

    14.  
    15. '对取出的数据格式化,把不标准部分用正则处理
       
    16. Function GetAdImg(strString,x)
       
    17.   Dim MM_objRegexp,MM_strString
       
    18.   Set MM_objRegexp=new RegExp
       
    19.   with MM_objRegexp
       
    20.    .IgnoreCase = True '不区分大小写
       
    21.    .Global = True '全局搜索
       
    22.    '.Pattern="[\x00-\x2f\x3A-\x40\x5b-\x60\x7B-\xFF\x2E]"
       
    23.    '正则中[^a]表示只取a,[a]表示只不取a,()内的内容表示预存,可以用$取出
       
    24.    If x = 1 Then .Pattern=".*src='([^']*)'.*" '取src值
       
    25.    If x = 2 Then .Pattern=".*href='([^']*)'.*" '取href值
       
    26.    'MM_strString=.execute(strString)
       
    27.    MM_strString=.Replace(strString,"$1")
       
    28.   End with
       
    29.   Set MM_objRegexp = Nothing
       
    30.   GetAdImg = MM_strString
       
    31. End Function

    -------------------------------------------------------------------------

    找到
    Il king.check("adtitle|6|"&encode(ad.lang("check/title"))&"|1-250")
    Il "




    "
    在下面添加:

    '**************************************************

    1. Call writescript 
    2. '广告类型 
    3. Il "<p><label>广告类型</label><select name='adtype'><option selected value='img'>图片</option><option value='flash'>FLASH</option><option value='other'>其它</option></select> <input type='button' name='b2' onclick=""assign1(form1.adtype.value);"" value='生成完整代码'>" 
    4. Il "</p>" 
    5. '链接地址 
    6. Il "<p><label>链接地址</label><input maxlength='255' type='text' name='adlink' id='adlink' value='"& GetAdImg(formencode(data(1,0)),2) &"' class='in4' />" 
    7. '添加的文件上传 
    8. Il "<p><label>显示文件</label><input maxlength='255' type='text' name='artimg' id='artimg' value='"& GetAdImg(formencode(data(1,0)),1) &"' class='in4'/>" 
    9. Il " <input type='button' value='浏览' class='k_button' onclick=""posthtm('../system/manage.asp?action=filemanage','aja','type=jpeg/jpg/png/gif&path='+encodeURIComponent(document.getElementById('artimg').value)+'&formname=artimg')"" />广告文件上传到aimage目录下" 
    10. Il "</p>"

    #p#副标题#e# 

    六、列表页只调用推荐的文章, 分页可用

    *****************************************************

    1. type=list 时用 
    2.  
    3.     2 list01= head头条 commend推荐 up置顶 是否(部分显示)
    4.     3 {king:article type="list" list01="commend"   
    5.  
    6. number="1"}

    *****************************************************

    public sub createlist(l1)
    找到

    1. set rs=conn.execute("select "&sql&" from  
    2.  
    3. kingarticle where artshow=1 and listid="&datalist(0,j)&" or  
    4.  
    5. listids like '%,"&datalist(0,j)&",%' order by artup  
    6.  
    7. desc,artorder "&jsorder&",artid "&jsorder&";")

    替换为

    1. '修改list-up,list-commend,list-head 
    2. dim list01 
    3. list01=king.getlabel(tmphtmlist,"list01") 
    4. if lcase(list01)="head" then list01="and arthead=1" 
    5. if lcase(list01)="commend" then list01="and artcommend=1" 
    6. if lcase(list01)="up" then list01="and artup=1" 
    7.  
    8.                 set rs=conn.execute("select "&sql&" from  
    9.  
    10. kingarticle where artshow=1 "&list01&" and  
    11.  
    12. listid="&datalist(0,j)&" or listids like '%,"&datalist 
    13.  
    14. (0,j)&",%' order by  artup desc,artorder "&jsorder&",  
    15.  
    16. artid "&jsorder&";")

    七、可以下拉的自动生成导航栏menu

    menu.js

    1. function menuFix() { 
    2.         var sfEls = document.getElementById("k_menu").getElementsByTagName("li"); 
    3.         for (var i=0; i<sfEls.length; i++) { 
    4.                 sfEls. ": "") + "sfhover"; 
    5.                 } 
    6.                 sfEls. ": "") + "sfhover"; 
    7.                 } 
    8.                 sfEls. ": "") + "sfhover"; 
    9.                 } 
    10.                 sfEls.onmouseout=function() { 
    11.                 this.className=this.className.replace(new RegExp("( ?|^)sfhover\b"),  
    12.  
    13. "");                }
       
    14.         } 
    15. }

    menu.css

    1. /* 下拉导航 */
       
    2. #k_menu {clear:both;display:table;background:url(/template/images/ls.gif) repeat-x;BORDER-TOP: #E7F9FF 2px solid;margin:0;list-style-type:none;text-align:left;padding:5px 0px 0px 0px;width:100%;}/* {king:menu/} 下拉菜单导航*/
       
    3.  
    4. #k_menu li {float:left;width:70px;margin-left:0px;text-align:left;HEIGHT: 22px;FONT-SIZE: 14px;font-weight: bold;}
    5. #k_menu li a {display:block;width:70px;text-align:center;text-decoration:none;color:#FFFFFF;} 
    6. #k_menu li a:hover{background:#E7F9FF;COLOR: #000;HEIGHT: 22px;} 
    7.  
    8. #k_menu li ul {margin:0px;display:table;line-height:22px;list-style-type:none;left:-9999px;width:160px;position:absolute;} 
    9. #k_menu li ul li {clear:both;width:100px;background:#E7F9FF;} 
    10. #k_menu li ul li a {display:block;text-align:left;padding-left:10%;width:98%;} 
    11.  
    12. #k_menu li ul li a:link {color:#666;text-decoration:none;} 
    13. #k_menu li ul li a:visited {color:#666;text-decoration:none;} 
    14. #k_menu li ul li a:hover {width:auto;color:#FFF;text-decoration:none;font-weight:normal;background:#7BC5EA;font-weight:bold;} 
    15.  
    16. #k_menu li:hover ul {left:auto;} 
    17. #k_menu li.sfhover ul {left:auto;}

    下面为 导航栏的 代码

    1. <LINK href="/template/menu.css" rel=stylesheet> 
    2. <script type="text/javascript" src="/template/menu.js"></script> 
    3. <script language="JavaScript">window.k_menu"> 
    4. {{king:article listid="1,2,3,4,5,6,7,8,9,10,11,12"}} 
    5. <li> 
    6. <A href="{king:listpath/}">{king:listname/}</A>             
    7. <ul> 
    8. {king:articlelist listid="sub"} 
    9. <li> 
    10. <A href="(king:listpath/)">(king:listname/)</A>             
    11. </li> 
    12. {/king} 
    13. </ul> 
    14. </li> 
    15. {{/king}} 
    16. </ul>
       

    八、修改文章默认生成方式
      

    文章的默认生成都是按照拼音,有时候,我们不想用拼音,想用ID可以减少一点文件夹长度。于是,有了下面的代码。
    在adminArticleindex.asp中查找
    data(11,0)=art.lang("common/pinyin")
    复制代码
    ID.htm格式                        
    将data(11,0)=art.lang("common/pinyin")修改为:
    data(11,0)=king.neworder("kingart","artid")&"."&split(king_ext,".")(1)
    复制代码
    md5格式
    将data(11,0)=art.lang("common/pinyin")修改为:
    data(11,0)="MD5"

    日期格式
    将data(11,0)=art.lang("common/pinyin")修改为:
    data(11,0)=formatdate(now,2)&"/"&king.neworder("kingart","artid")

    自定义发布模块类推,修改对应的index.asp

    如果是使用ID进行文件名生成,为了防止后台多管理员同时发布文章时文件名撞车问题,进一步将以ID.HTM为文件名的方式改为ID+时间的秒钟.htm
    data(11,0)=king.neworder("kingart","artid")&Second;(Now())&"."&split;(king_ext,".")(1)'使用ID+秒方式

    九、指定关键词的新闻

    {king:article type="new" keywords="这里是指定的关键词"}
    (king:title)...
    {/king}

    十、发布文章关键词全角逗号自动转换成半角逗号

     

    打开admin/article/index.asp
    ①在最后面添加一个function
    '**************************************************

    1. '添加的允许全角逗号
       
    2. Function aKeyWord(tString)
       
    3. aKeyWord = Replace(tString,",",",")
       
    4. End Function

    '==================================================
    ②寻找:artkeywords='"&safe(artkeywords)&"' 改成 artkeywords='"&aKeyWord(safe(artkeywords))&"'
    这是解决了添加新文章时关键词的逗号转换
    ③寻找:listkeyword='"&safe(data(7,0))&"' 改成 listkeyword='"&aKeyWord(safe(data(7,0)))&"'
    ④寻找:'"&safe(data(7,0))&"' 改成 '"&aKeyWord(safe(data(7,0)))&"'

     

     

    ↓ 查看全文

    kingcms for asp技巧集合由懒人建站收集整理,您可以自由传播,请主动带上本文链接

    懒人建站就是免费分享,觉得有用就多来支持一下,没有能帮到您,懒人也只能表示遗憾,希望有一天能帮到您。

    kingcms for asp技巧集合-最新评论