• 在ECSHOP首页今日特价(促销商品)增加倒计时效果


    看到不少朋友在找首页特价商品倒计时的修改方法,写了这篇文章希望能帮到有此需要的朋友们



    1、首先修改程序部分
    打开includes/lib_goods.php
    找到get_promote_goods()函数部分

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

    注:这里一定要谨慎,一定要找准位置,很多同志都是绊倒在这里的,如果你没修改过这个文件的话,大概是在394行的位置,找错了就出不来了)
    下面增加代码

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

    2、
    然后将 library/recommend_promotion.lbi
    全部替换为下面代码:

    <meta http-equiv="Content-Type" content="text/html; charset=gbk">
    <!-- {if $promotion_goods} -->
    <script >
    var Tday = new Array();
    var daysms = 24 * 60 * 60 * 1000
    var hoursms = 60 * 60 * 1000
    var Secondms = 60 * 1000
    var microsecond = 1000
    var DifferHour = -1
    var DifferMinute = -1
    var DifferSecond = -1
    function clock(key)
      {
       var time = new Date()
       var hour = time.getHours()
       var minute = time.getMinutes()
       var second = time.getSeconds()
       var timevalue = ""+((hour > 12) ? hour-12:hour)
       timevalue +=((minute < 10) ? ":0":":")+minute
       timevalue +=((second < 10) ? ":0":":")+second
       timevalue +=((hour >12 ) ? " PM":" AM")
       var convertHour = DifferHour
       var convertMinute = DifferMinute
       var convertSecond = DifferSecond
       var Diffms = Tday[key].getTime() - time.getTime()
       DifferHour = Math.floor(Diffms / daysms)
       Diffms -= DifferHour * daysms
       DifferMinute = Math.floor(Diffms / hoursms)
       Diffms -= DifferMinute * hoursms
       DifferSecond = Math.floor(Diffms / Secondms)
       Diffms -= DifferSecond * Secondms
       var dSecs = Math.floor(Diffms / microsecond)
      
       if(convertHour != DifferHour) a="<font color=red>"+DifferHour+"</font>天";
       if(convertMinute != DifferMinute) b="<font color=red>"+DifferMinute+"</font>时";
       if(convertSecond != DifferSecond) c="<font color=red>"+DifferSecond+"</font>分"
         d="<font color=red>"+dSecs+"</font>秒"
         if (DifferHour>0) {a=a}
         else {a=''}
       document.getElementById("leftTime"+key).innerHTML = a + b + c + d; //显示倒计时信息
     
      }
    </script>
    <div id="sales" class="f_l clearfix">
          <h1><a href="../search.php?intro=promotion"><img src="images/more.gif" /></a></h1>
           <div class="clearfix goodBox">
             <!--{foreach from=$promotion_goods key=key item=goods name="promotion_foreach"}-->
             {if $smarty.foreach.promotion_foreach.index <= 3}
               <div class="goodList">
               <a href="{$goods.url}"><img src="{$goods.thumb}" border="0" alt="{$goods.name|escape:html}"/></a><br />
          <p><a href="{$goods.url}" title="{$goods.name|escape:html}">{$goods.short_name|escape:html}</a></p>
               {$lang.promote_price}<font class="f1">{$goods.promote_price}</font><br><font class="f4" id="leftTime{$key}">{$lang.please_waiting}</font>
               </div>
             {/if}
    <script>
    Tday[{$key}] = new Date("{$goods.gmt_end_time}");  
    window.setInterval(function()    
    {clock({$key});}, 1000);    
    </script>
             <!--{/foreach}-->
           </div>
          </div>
        
    <!-- {/if} -->

    以上方法是在官方默认模板下实现的,如果你的是其他模板,有选择的把里面的一些代码挑出来增加(或修改)到你的recommend_promotion.lbi里即可。
    转载:http://www.ecshop120.com/ecshop-mobanxiugai/ecshop-daojishi.html

  • 相关阅读:
    [转]K/3加密控制规则
    修改Delphi2009的界面风格
    [转]软件版本号讲解: 什么是Alpha, Beta, RC
    百度程序题目连续数问题
    得到正整数a的16进制表示
    四舍五入至某小数位后返回数字串
    返回相同宽度数字型字符串
    百度程序题目连续数问题 另解
    求二进制表示中1的个数
    六支筷子取其二,恰为一双的概率
  • 原文地址:https://www.cnblogs.com/wawahaha/p/4525314.html
Copyright © 2020-2023  润新知