看了很多朋友在宏博CMS中所使用的幻灯代码,似乎都是调用固定的页面或图片。其实宏博CMS同样可以实现FLASH幻灯代码直接调用站内文章,下面请看我写的代码。这段代码使用的是FLASH+JS幻灯。
请注意:本代码只支持JPG格式的图片文件。
使用方法:
将以下代码复制粘贴到你的模板文件中,然后将FLASH文件放到你的站点的image目录或任意目录中,注意FLASH地址(就是这段“/image/focus.swf”)的正确性。
FLASH文件下载地址:(下载后解压,只有一个文件)
focus.zip
下载: zip 文件
大家可以看下我站的演示:http://www.upwinder.com/
.JPG
<script type="text/javascript"><{strip}>
<{assign var="tmppic" value=""}> //定义变量,用于累加每条图片的地址
<{assign var="tmplink" value=""}> //定义变量,用于累加每条文章的地址
<{assign var="tmptext" value=""}> //定义变量,用于累加每条文章的标题
<{assign var="type_num" value="1"}> //定义计数器变量,用于控制共列出多少条记录
<{foreach name=new_article_data item=item_info from=$data_ary.new_article.0}>//在所有记录中循环,大家如有其他要求,可以参照模
板中推荐文章、最新文章等代码。
<{if $item_info.icon_url != '' && $image_article_id == 0 && $type_num<=6}>//判断是否图片文章和循环了多少条记录
<{assign var="tmppic" value="`$tmppic``$item_info.icon_url`|"}>//累加图片地址,在每个图片地址之间加“|”便于适应幻灯
代码
<{assign var="tmplink" value="`$tmplink``$item_info.url`|"}>//累加文章地址,在每个图片地址之间加“|”便于适应幻灯代码
<{assign var="tmptext" value="`$tmptext``$item_info.title`|"}>//累加文章标题,在每个图片地址之间加“|”便于适应幻灯代
码
<{assign var="type_num" value="`$type_num+1`"}>//累加计数器
<{/if}>
<{/foreach}>
<{/strip}>
var tmppic="<{$tmppic}>"; //把模板变量赋值给JS变量
var tmplink="<{$tmplink}>"; //把模板变量赋值给JS变量
var tmptext="<{$tmptext}>"; //把模板变量赋值给JS变量
var focus_width=240
var focus_height=190
var text_height=21
var swf_height = focus_height+text_height;
var pics="";
var links="";
var texts="";
pics=tmppic.substring(0,tmppic.length-1); //由于累加的字符串的最后一个“|”会造成幻灯多显示一条空记录,故在此需要去除
links=tmplink.substring(0,tmplink.length-1); //同上
texts=tmptext.substring(0,tmptext.length-1); //同上
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ focus_width +'"
height="'+ swf_height +'">');
document.write('<param name="allowScriptAccess" value="sameDomain"><param name="movie" value="/image/focus.swf"> <param
name="quality" value="high"><param name="bgcolor" value="#FFFFFF">');
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
document.write('<param name="FlashVars"
value="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+t
ext_height+'">');
document.write('<embed src="/image/focus.swf" wmode="opaque"
FlashVars="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight
='+text_height+'" menu="false" bgcolor="#ffffff" quality="high" width="'+ focus_width +'" height="'+ swf_height +'"
allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"
/>');
document.write('</object>');
</script>