账号通
    

账号  

密码  

1729

查看

1

回复
主题:[原创]商城幻灯片调用商品大图方法 [收藏主题]  
a2584482 当前离线

433

主题

1

广播

0

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

用户积分:3971 分
登录次数:231 次
注册时间:2009/7/1
最后登录:2018/7/14
a2584482 发表于:2010/5/20 13:15:00   | 只看该作者 查看该作者主题 楼主 
科汛在线考试系统(NET)

使用kesioncms的商城模型时,发现如果分别上传商品的大图和小图时,商城模型的幻灯片调用的却是商品的小图,这就让人郁闷了,在论坛求助后无人问津,只好自己动手!


曾经的问题没有回答:http://bbs.kesion.com/dispbbs.asp?BoardID=41&ID=139920&replyID=&skin=1


 


曾经用LB和SQL两种标签都做过幻灯片部分的优化处理,但这次对6.5新增的Flash幻灯4是没想好怎么实现,只好对系统函数动刀,原理是新增判断幻灯模型是否为商城模型,如果是则调用商品大图,很简单吧!这样无论哪种幻灯都能应用自如。下面对我的方法进行详解,不知是不是最合适的,如果你有更牛X的,欢迎分享!


 


 


具体解决方案及说明详见: http://www.nuodou.com/item/424.html


 


 


首先找到文件 Kesion.Label.FunctionCls.asp,查找到通用幻灯函数GetSlide,以下是具体修改及说明,如有疑问,留言处理!ps. 红色为新增部分



[Quote]  Function GetSlide(LabelStyle)
       LoadLabelParam
    If LoadSucceed = false Then GetSlide="标签加载出错!":Exit Function 
    Dim SqlStr,TableName,FieldStr
    If ModelID="0" Then 
      TableName = "[KS_ItemInfo]" : FieldStr="I.InfoID as ID,I.Title,I.ChannelID,I.Tid,I.PhotoUrl,I.Fname"
      Param = Param & " and PhotoUrl<>''" 
    Else If ModelID="5" Then   '如果是商城模型,则调出商品大图
      TableName = "[KS_Product]" : FieldStr="I.ID,I.Title,I.Tid,I.PhotoUrl,I.BigPhoto,I.Fname"
 
    Else 
      TableName = KS.C_S(ModelID,2) : FieldStr="I.ID,I.Title,I.Tid,I.PhotoUrl,I.Fname"
      If KS.C_S(ModelID,6)=1 Then Param=Param & " and I.PicNews=1" 
    End If 
    End If
    SqlStr = "SELECT TOP " & Num & " " & FieldStr & " FROM " & TableName & " I " & Param & " ORDER BY I.ID Desc" 
 


'''''''''以下代码部分省略,找到并修改函数部分 ExplainSlideLabelBody()'''''''''


    IF Cint(SlideType)<>1 Then 
      Dim ImgArrStr,LinkArrStr,TextArrStr
      N=0
      For K=0 To TotalNum-1
           Set Node=DocNode.Item(n)
           Title         = Node.SelectSingleNode("@title").text 
           'PhotoUrl      = Node.SelectSingleNode("@photourl").text : PhotoUrl= GetPicUrl(PhotoUrl)   '此行为原句,注释掉
      '修改开始:如果是商城模型则调出商品大图作为幻灯图片
      If ModelID="5" Then  
        PhotoUrl      = Node.SelectSingleNode("@bigphoto").text : PhotoUrl= GetPicUrl(PhotoUrl)
      Else
        PhotoUrl      = Node.SelectSingleNode("@photourl").text : PhotoUrl= GetPicUrl(PhotoUrl)
      End If
      '修改结束:如果是商城模型则调出商品大图作为幻灯图片
 
       
        If ModelID=0 Then CurrModelID=Cint(Node.SelectSingleNode("@channelid").text) Else CurrModelID=ModelID
        LinkUrl       = KS.GetItemURL(CurrModelID,Node.SelectSingleNode("@tid").text,Node.SelectSingleNode("@id").text,Node.SelectSingleNode("@fname").text) 
'''''''''以下代码部分省略'''''''''[/Quote]


 


 


顺便给大家推荐本人使用的idc   http://idc.nuodou.com  高性价比 7天免费试用 30天可退款  安全有保障!

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