运用自定标签来使用SohuFlash幻灯片效果

首先在这里先感谢一下动易管理员e_win。没有他在坛子里发的那篇《应众要求奉上Flash幻灯片和JS幻灯片两个函数标签(北京奥运官网)》帖,偶也不会去留意SohuFlash幻灯播放器(自己取个名,不知道对不对。^_^)。

言归正传,要看效果请至本站(http://www.imoker.cn/)首页查看。

e_win管理员的教程对于新手来说,还是有一些难度的。所以对这个SohuSohuFlash幻灯播放器研究了一下,发现其实这个幻灯播放器还是比较容易调用的。

首先来看一下奥运火炬接力官网(因官网首页源文件无法打开,所以选了火炬接力版块的)。查看源文件:


<script src="http://torchrelay.beijing2008.cn/upload/cms_torch/homepage_cn/sohuflash_1.js" type="text/javascript"></script>
<div id="sasFlashFocus27"></div>
<script>
  txt="<a image=’http://images.beijing2008.cn/20080523/Img214373960.jpg’ info=’奥运圣火上海站首日传递结束 秦文波点燃圣火盆’ url=’http://torchrelay.beijing2008.cn/cn/journey/shanghai’ /><a image=’http://images.beijing2008.cn/20080522/Img214371891.jpg’ info=’圣火嘉兴站传递结束 奥运冠军吕林成浙江末棒火炬手’ url=’http://torchrelay.beijing2008.cn/cn/journey/jiaxing/’ /><a image=’http://images.beijing2008.cn/20080522/Img214371547.jpg’ info=’火炬接力宁波传递结束 跨海大桥见证历史时刻’ url=’http://torchrelay.beijing2008.cn/cn/journey/ningbo/news/n214371532.shtml’ /><a image=’http://images.beijing2008.cn/20080518/Img214367608.jpg’ info=’奥运火炬接力杭州站传递结束 赈灾募捐演出活动举行’ url=’http://torchrelay.beijing2008.cn/cn/ceremonies/hangzhou/’ /><a image=’http://images.beijing2008.cn/20080517/Img214366580.jpg’ info=’心系奥运 祝福灾区’ url=’http://www.beijing2008.cn/wishes/’ />"
  var sohuFlash2 = new sohuFlash("http://images.beijing2008.cn/torchrelay.swf", "27", 320, 310, "7");
  sohuFlash2.addParam("quality", "high");
  sohuFlash2.addParam("wmode", "opaque");
  sohuFlash2.addVariable("txt",txt);
  sohuFlash2.write("sasFlashFocus27");
</script>

红色部分为传入的幻灯参数。也就是只要用相应的格式赋值给txt,就可以实现图片的幻灯播放了。

首先将相应的文件上传至相应的文件夹。主要是两个:SohuFlash_1.js和torchrelay.swf,本例中应将SohuFlash_1.js上传至JS目录中,torchrelay.swf上传至images目录。

在模板头部(之间)插入:

<script type="text/javascript" src="{$InstallDir}js/sohuflash_1.js"></script>

以下是模板内容,注意自定义标签的处理方式:

<div class="box_empty" id="NewPhotoList"></div> 
<script>
  txt="【PhotoList(ChannelID=3,ArticleNum=10,OrderType=3,TitleLen=20)】<a image=’{$PhotoPicUrl}’ info=’{$PhotoName}’ url=’{$PhotoUrl}’ />【/PhotoList】"
  var sohuFlash2 = new sohuFlash("{$InstallDir}images/torchrelay.swf", "27", 320, 306, "7");
  sohuFlash2.addParam("quality", "high");
  sohuFlash2.addParam("wmode", "opaque");
  sohuFlash2.addVariable("txt",txt);
  sohuFlash2.write("NewPhotoList");
  </script>

我的自定义标签已经个性化,如果你对标签个性化比较感兴趣,可以参考《让自定义标签更加人性化》你可以用原自定义标签调用。另外偶在这里增加了一个标签{$PhotoPicUrl},因为原来系统好像没有输出图片地址的标签,只能自己添加了。这里选用图片的URL主要是因为自己的缩略图比较小,显示的时候效果太差了。

下面是{$PhotoPicUrl}标签添加方法:
/Include/PowerEasy.Photo.asp文件2138行附近插入:

strTemp = PE_Replace(strTemp, "{$PhotoID}", rsCustom("PhotoID")) 
If InStr(strTemp, "{$PhotoUrl}") > 0 Then strTemp = PE_Replace(strTemp, "{$PhotoUrl}", GetPhotoUrl(rsCustom("ParentDir"), rsCustom("ClassDir"), rsCustom("UpdateTime"), rsCustom("PhotoID"), rsCustom("ClassPurview"), rsCustom("InfoPurview"), rsCustom("InfoPoint")))

’imoker.cn add Start
If InStr(strTemp, "{$PhotoPicUrl}") > 0 Then strTemp = PE_Replace(strTemp,  "{$PhotoPicUrl}",  ChannelUrl & "/" & UploadDir & "/" & split(split(rsCustom("PhotoUrl"),"$$$")(0),"|")(1))
’imoker.cn add End

If InStr(strTemp, "{$UpdateDate}") > 0 Then strTemp = PE_Replace(strTemp, "{$UpdateDate}", FormatDateTime(rsCustom("UpdateTime"), 2))
strTemp = PE_Replace(strTemp, "{$UpdateTime}", rsCustom("UpdateTime"))
strTemp = PE_Replace(strTemp, "{$Stars}", GetStars(rsCustom("Stars")))

有兴趣的朋友也可以增加一个{$PhotoThumbUrl}标签,以便调用缩略图地址。
  
2186行附近:


If InStr(strTemp, "{$PhotoThumb}") > 0 Then strTemp = PE_Replace(strTemp, "{$PhotoThumb}", GetPhotoThumb(rsCustom("PhotoThumb"), 130, 0))

’imoker.cn add Start
If InStr(strTemp, "{$PhotoThumbUrl}") > 0 Then strTemp = PE_Replace(strTemp, "{$PhotoThumbUrl}", ChannelUrl & "/" & UploadDir & "/" & rsCustom("PhotoThumb"))
’imoker.cn add End

If InStr(strTemp, "{$DayHits}") > 0 Then strTemp = PE_Replace(strTemp, "{$DayHits}", GetHits(rsCustom("InfoPoint"), rsCustom("DayHits"), 1))

题外话:个人觉得动易的{$PhotoUrl}这个标签的设置容易使人产生误导,既然是Url,那么输出的应该是个网络地址,但是动易输出的却是一个显示代码(image 或 Object)。建议官方能够在后续版本中有所改进。

“运用自定标签来使用SohuFlash幻灯片效果”的一个回复

发表评论