给首页的促销商品增加倒计时

在ECSHOP中是可以设置商品的促销时间和倒计时效果的,但是在默认模板中却没有被提现出来。这个我在网上找到的代码,整理成实际可以使用的代码发贴出来给大家。

在第三段的代码段中,大家可以根据自己的需要修改49到58行的HTML代码,其它地方基本不用再改。

这段代码的时间显示格式为 xxx 天 xxx 小时 xxx 分 xxx 秒,如果你只打算显示小时的话可以修改一下第三段代码34行,将天数乘24在加到小时上就OK了。

这里贴出实际的样式效果:

1、打开includes/lib_goods.php,找到get_promote_goods()函数部分。

  1. $goods[$idx]['url'] = build_uri('goods', array('gid' => $row['goods_id']), $row['goods_name']);

添加如下内容:

  1. /* 促销时间倒计时 */
  2. $time = gmtime();
  3. if ($time >= $row['promote_start_date'] && $time <= $row['promote_end_date']){
  4.     $goods[$idx]['gmt_end_time']  = local_date('M d, Y H:i:s',$row['promote_end_date']);
  5. }else{
  6.     $goods[$idx]['gmt_end_time'] = 0;
  7. }

2、然后将 library/recommend_promotion.lbi 里的内容替换成以下代码:

  1. <meta http-equiv="Content-Type" content="text/html; charset=utf8">
  2. <!-- {if $promotion_goods} -->
  3. <script >
  4. var Tday = new Array();
  5. var daysms = 24 * 60 * 60 * 1000
  6. var hoursms = 60 * 60 * 1000
  7. var Secondms = 60 * 1000
  8. var microsecond = 1000
  9. var DifferHour = -1
  10. var DifferMinute = -1
  11. var DifferSecond = -1
  12. function clock(key)
  13.   {
  14.    var time = new Date()
  15.    var hour = time.getHours()
  16.    var minute = time.getMinutes()
  17.    var second = time.getSeconds()
  18.    var timevalue = ""+((hour > 12) ? hour-12:hour)
  19.    timevalue +=((minute < 10) ? ":0":":")+minute
  20.    timevalue +=((second < 10) ? ":0":":")+second
  21.    timevalue +=((hour >12 ) ? " PM":" AM")
  22.    var convertHour = DifferHour
  23.    var convertMinute = DifferMinute
  24.    var convertSecond = DifferSecond
  25.    var Diffms = Tday[key].getTime() - time.getTime()
  26.    DifferHour = Math.floor(Diffms / daysms)
  27.    Diffms -= DifferHour * daysms
  28.    DifferMinute = Math.floor(Diffms / hoursms)
  29.    Diffms -= DifferMinute * hoursms
  30.    DifferSecond = Math.floor(Diffms / Secondms)
  31.    Diffms -= DifferSecond * Secondms
  32.    var dSecs = Math.floor(Diffms / microsecond)
  33.   
  34.    if(convertHour != DifferHour)
  35.        a="<font color=red>"+DifferHour+"</font>天";
  36.    if(convertMinute != DifferMinute) 
  37.        b="<font color=red>"+DifferMinute+"</font>时";
  38.    if(convertSecond != DifferSecond) 
  39.        c="<font color=red>"+DifferSecond+"</font>分"
  40.    d="<font color=red>"+dSecs+"</font>秒"
  41.    if (DifferHour>0) {
  42.      a=a
  43.    }else{
  44.      a=''
  45.    }
  46.    document.getElementById("leftTime"+key).innerHTML = a + b + c + d; //显示倒计时信息
  47. }
  48. </script>
  49. <div id="sales" class="f_l clearfix">
  50.     <h1><a href="../search.php?intro=promotion"><img src="images/more.gif" /></a></h1>
  51.     <div class="clearfix goodBox">
  52.     <!--{foreach from=$promotion_goods key=key item=goods name="promotion_foreach"}-->
  53.     {if $smarty.foreach.promotion_foreach.index <= 3}
  54.         <div class="goodList">
  55.             <a href="{$goods.url}"><img src="{$goods.thumb}" border="0" alt="{$goods.name|escape:html}"/></a><br />
  56.             <p><a href="{$goods.url}" title="{$goods.name|escape:html}">{$goods.short_name|escape:html}</a></p>
  57.             {$lang.promote_price}<font class="f1">{$goods.promote_price}</font><br><font class="f4" id="leftTime{$key}">{$lang.please_waiting}</font>
  58.         </div>
  59.     {/if}
  60. <script>
  61.     Tday[{$key}] = new Date("{$goods.gmt_end_time}");  
  62.     window.setInterval(function(){    
  63.         clock({$key});
  64.     }, 1000);    
  65. </script>
  66.          <!--{/foreach}-->
  67.     </div>
  68. </div>
  69. <!-- {/if} -->

在后台商品也设置促销商品,刷新首页即可看到效果!



发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

无觅相关文章插件,快速提升流量