在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

时间: 2024-10-14 20:24:06

在ECSHOP首页今日特价(促销商品)增加倒计时效果的相关文章

EcShop首页显示特定分类的精品新品热销特价等推荐商品

EcShop首页显示特定分类的精品新品热销特价等推荐商品 很多大型的B2C商城都有特定分类专区,该分类下的[分类名称].[推荐子分类 或 推荐品牌].[大图片/推荐单品].[推荐商品].[促销商品].[推荐商品/热销排行]等,这是基于SEO及用户体验来开发的.ECSHOP虽然有类似的功能,并且推荐商品还分[精品].[新品].[热销]三类,但灵活性不是很好,首页第一次加载的时候,无论是[精品].[新品]还是[热销]都不能指定分类,只能不分类别地显示所有.即使是在分类的设置里面有[设置为首页推荐:

ecshop促销时间倒计时效果

ecshop促销时间倒计时效果的实现如下: 1.首先修改程序部分 打开includes/lib_goods.php 找到get_promote_goods()函数部分 在 $goods[$idx]['url'] = build_uri('goods', array('gid' => $row['goods_id']), $row['goods_name']); 下面增加代码 $time = gmtime(); if ($time >= $row['promote_start_date'] &a

ecshop首页调用指定商品分类下的商品品牌列表

转之--http://www.16css.com/ecshop/735.html 通过二次开发可以实现ECSHOP首页调用指定分类下的品牌列表. 第一步: 打开根目录下的index.php 在最后面 ?> 前面加入以下代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 /** * 获得某个分类下的品牌 列表 * * @access  public * @param   int     $cat * @return 

换今日特价图片---轻开电子商务系统(企业入门级B2C网站)

跟换主页轮播图片一样,一共4个文件: 列表显示文件:site/links/img2.html 添加图片文件:site/links/img2_add.html 添加保存图片文件:site/links/img2_add_up1.chtml 删除图片文件(跟删除主页轮播图片共用一个文件,用记录we_id识别):site/links/img0_del.chtml 在轻开电子商务系统(企业入门级B2C网站)的site/links/目录下 1.列表显示文件:site/links/img2.html <lin

换今日特价图片---轻开电子商务系统(企业入门级B2C站点)

跟换主页轮播图片一样,一共4个文件: 列表显示文件:site/links/img2.html 加入图片文件:site/links/img2_add.html 加入保存图片文件:site/links/img2_add_up1.chtml 删除图片文件(跟删除主页轮播图片共用一个文件,用记录we_id识别):site/links/img0_del.chtml 在轻开电子商务系统(企业入门级B2C站点)的site/links/文件夹下 1.列表显示文件:site/links/img2.html <li

ecshop首页调用指定分类下面的精品商品

1.首先在index.php页面加上这段代码: function index_get_cat_id_goods_best_list($cat_id, $num){    $sql = 'Select g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.shop_price, g.promote_price, ' .                "promote_start_date, promote_end_date,

ecshop 首页调用指定分类下的销售排行

/*首页调用指定分类下的销售排行*/ function get_cats_top10($cat = '') { $sql = 'SELECT cat_id, cat_name ' . 'FROM ' . $GLOBALS['ecs']->table('category') . "WHERE parent_id = '$cat' ORDER BY sort_order ASC, cat_id ASC LIMIT 3"; $res = $GLOBALS['db']->getAl

ecshop首页调用某分类下的商品|assign_cat_goods()

ecshop首页调用分类下的商品其实很简单,也有模板设置那里可以设置,不过那个只可以用cat_goods.lib,不方便,所以我想看看怎么能简单的实现ecshop首页调用分类下的商品 只需要在index.php写上这么一句:assign_cat_goods(20,10); 其中20是分类id,10是调用的条数 assign_cat_goods这个函数是在includes/lib_goods.php里面的 然后就是ecshop模板里调用商品了 <!–{foreach from=$cat_goods

javascript特效实现(4)——当前时间和倒计时效果

这个效果的实现关键是对Date对象和setTimeout的使用. 一共有三个例子,HTML结构如下,就不添加CSS样式了. <body> 当前时间:<p id="p1"></p> 高考倒计时:<p id="p2"></p> 限时抢购:<p id="p3"></p> </body> 主要体会javascript的实现 window.onload=func