在KingCMS 5.0中增加了双层循环的标签使用,但是在列表模板中使用之后发现没有输出内容,打开源码后发现“KingCMS Tag Error”,看来这是一个小Bug。
相关文章:仿ChinaZ的KingCMS模板
文章模块的帮助中双层循环的原文:
{{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”去掉即可。
你再试试看看行不行……
当一个栏目下有多个分类时就可以这样调用了:
- {{king:article listid="sub"}}
- <div id="news_sort">
- <div class="news_title"><span><a href="{king:listpath/}">更多>></a></span><h3 title="{king:listname/}">{king:listname/}</h3></div>
- <ul>
- {king:article number="10" listid="current"}
- <li><span>(king:date mode="yyyy-MM-dd"/)</span>· <a href="(king:path/)" target="_blank" title="(king:title/)">(king:title size="40"/)</a></li>
- {/king}
- </ul>
- </div>
- {{/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
在最后加入:
- Sub writescript()
- Il "<scritp>" &vbcrlf
- Il "var vchar1" &vbcrlf
- Il " function assign1(vchar1){" &vbcrlf
- Il " if (vchar1==""img"") {" &vbcrlf
- 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
- Il " }" &vbcrlf
- Il " else if (vchar1==""flash"") {" &vbcrlf
- 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
- Il " }" &vbcrlf
- Il " }" &vbcrlf
- Il "</scritp>" &vbcrlf
- End Sub
- '对取出的数据格式化,把不标准部分用正则处理
- Function GetAdImg(strString,x)
- Dim MM_objRegexp,MM_strString
- Set MM_objRegexp=new RegExp
- with MM_objRegexp
- .IgnoreCase = True '不区分大小写
- .Global = True '全局搜索
- '.Pattern="[\\x00-\\x2f\\x3A-\\x40\\x5b-\\x60\\x7B-\\xFF\\x2E]"
- '正则中[^a]表示只取a,[a]表示只不取a,()内的内容表示预存,可以用$取出
- If x = 1 Then .Pattern=".*src='([^']*)'.*" '取src值
- If x = 2 Then .Pattern=".*href='([^']*)'.*" '取href值
- 'MM_strString=.execute(strString)
- MM_strString=.Replace(strString,"$1")
- End with
- Set MM_objRegexp = Nothing
- GetAdImg = MM_strString
- End Function
-------------------------------------------------------------------------
找到
Il king.check("adtitle|6|"&encode(ad.lang("check/title"))&"|1-250")
Il "
"
在下面添加:
'**************************************************
- Call writescript
- '广告类型
- 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='生成完整代码'>"
- Il "</p>"
- '链接地址
- Il "<p><label>链接地址</label><input maxlength='255' type='text' name='adlink' id='adlink' value='"& GetAdImg(formencode(data(1,0)),2) &"' class='in4' />"
- '添加的文件上传
- Il "<p><label>显示文件</label><input maxlength='255' type='text' name='artimg' id='artimg' value='"& GetAdImg(formencode(data(1,0)),1) &"' class='in4'/>"
- 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目录下"
- Il "</p>"
六、列表页只调用推荐的文章, 分页可用
*****************************************************
- type=list 时用
- 2 list01= head头条 commend推荐 up置顶 是否(部分显示)
- 3 {king:article type="list" list01="commend"
- number="1"}
*****************************************************
在
public sub createlist(l1)
找到
- set rs=conn.execute("select "&sql&" from
- kingarticle where artshow=1 and listid="&datalist(0,j)&" or
- listids like '%,"&datalist(0,j)&",%' order by artup
- desc,artorder "&jsorder&",artid "&jsorder&";")
替换为
- '修改list-up,list-commend,list-head
- dim list01
- list01=king.getlabel(tmphtmlist,"list01")
- if lcase(list01)="head" then list01="and arthead=1"
- if lcase(list01)="commend" then list01="and artcommend=1"
- if lcase(list01)="up" then list01="and artup=1"
- set rs=conn.execute("select "&sql&" from
- kingarticle where artshow=1 "&list01&" and
- listid="&datalist(0,j)&" or listids like '%,"&datalist
- (0,j)&",%' order by artup desc,artorder "&jsorder&",
- artid "&jsorder&";")
七、可以下拉的自动生成导航栏menu
menu.js
- function menuFix() {
- var sfEls = document.getElementById("k_menu").getElementsByTagName("li");
- for (var i=0; i<sfEls.length; i++) {
- sfEls. ": "") + "sfhover";
- }
- sfEls. ": "") + "sfhover";
- }
- sfEls. ": "") + "sfhover";
- }
- sfEls.onmouseout=function() {
- this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"),
- "");
- }
- }
- }
menu.css
- /* 下拉导航 */
- #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/} 下拉菜单导航*/
- #k_menu li {float:left;width:70px;margin-left:0px;text-align:left;HEIGHT: 22px;FONT-SIZE: 14px;font-weight: bold;}
- #k_menu li a {display:block;width:70px;text-align:center;text-decoration:none;color:#FFFFFF;}
- #k_menu li a:hover{background:#E7F9FF;COLOR: #000;HEIGHT: 22px;}
- #k_menu li ul {margin:0px;display:table;line-height:22px;list-style-type:none;left:-9999px;width:160px;position:absolute;}
- #k_menu li ul li {clear:both;width:100px;background:#E7F9FF;}
- #k_menu li ul li a {display:block;text-align:left;padding-left:10%;width:98%;}
- #k_menu li ul li a:link {color:#666;text-decoration:none;}
- #k_menu li ul li a:visited {color:#666;text-decoration:none;}
- #k_menu li ul li a:hover {width:auto;color:#FFF;text-decoration:none;font-weight:normal;background:#7BC5EA;font-weight:bold;}
- #k_menu li:hover ul {left:auto;}
- #k_menu li.sfhover ul {left:auto;}
下面为 导航栏的 代码
- <LINK href="/template/menu.css" rel=stylesheet>
- <script type="text/javascript" src="/template/menu.js"></script>
- <script language="JavaScript">window.k_menu">
- {{king:article listid="1,2,3,4,5,6,7,8,9,10,11,12"}}
- <li>
- <A href="{king:listpath/}">{king:listname/}</A>
- <ul>
- {king:articlelist listid="sub"}
- <li>
- <A href="(king:listpath/)">(king:listname/)</A>
- </li>
- {/king}
- </ul>
- </li>
- {{/king}}
- </ul>
八、修改文章默认生成方式
文章的默认生成都是按照拼音,有时候,我们不想用拼音,想用ID可以减少一点文件夹长度。于是,有了下面的代码。
在admin\Article\index.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
'**************************************************
- '添加的允许全角逗号
- Function aKeyWord(tString)
- aKeyWord = Replace(tString,",",",")
- 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)))&"'
|
|