zoukankan      html  css  js  c++  java
  • 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://blog.sina.com.cn/s/blog_61af441401016q5n.html

    还有一些教程比如:

    http://xaphp.com/portal.php?mod=view&aid=532

    作者:沐雪
    文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者和博客园共有,如需转载恳请注明。
    如果您觉得阅读这篇博客让你有所收获,请点击右下方【推荐】
    找一找教程网-随时随地学软件编程 http://www.zyiz.net/

  • 相关阅读:
    MySQL复制的管理和维护
    error nr.1045 access denied for user 'root'@'localhost' (using passwd:no)
    MYSQL-使用mysqldump创建数据库快照
    ConcurrentBag同线程元素的添加和删除
    bootstrap源码学习与示例:bootstrap-tab
    Docker 私有仓库最简便的搭建方法
    使用Apache Jmeter进行并发压力测试
    cmd隐藏指定文件
    Bootstrap之BootstrapDialog
    全栈工程师的武器——MEAN(转)
  • 原文地址:https://www.cnblogs.com/puzi0315/p/2668074.html
Copyright © 2011-2022 走看看