团购列表功能优化仿聚美优品增加市场价、团购价、为您节省、倒计时等!
2016-07-07 15:11 来源:www.chinab4c.com 作者:ecshop专家
我在http://bbs.ecshop.com/thread-210120-1-1.html此贴曾经求助过此方法,结果运气很好,有一位高手加我无偿为我解决了此问题,非常感谢!经过我俩几天的调试,目前只有1个小问题,其它均完美实现。我整理了详细的教程,经过高手的同意,现在分享给大家,大家都装上后看一下是否都有我遇到的问题。先贴问题,再贴教程。 问题:在我本地和我的服务器上,都出现了团购价调用不出来的现象。而在那位高手兄弟的机子上却没有这个问题,这个问题我们搞了好几天都没解决。甚至他把他的网站程序备份后传给我安装,到我本地还是会出现此问题,奇了怪了。我对这个问题的看法是数据写不到数据库,可能是我俩的环境版本的问题。目前我的解决方法是去数据库字段里修改,没办法,手工修改。 看,团购价格应该是50元,在我这就是出不来,一直显示的是市场价格。 教程,共5步 1,网站后台-数据库管理-SQL查询-执行sql语句: ALTER TABLE `ecs_goods_activity` ADD `tuan_price` DECIMAL( 10, 2 ) UNSIGNED NOT NULL DEFAULT '0.00' 2,admin/templates/group_buy_info.htm 找到“<a href="javascript:;"><strong>[+]</strong></a>”注释掉。 找到<a href="javascript:;"><strong>[-]</strong></a> </td> </tr> {/if} {/foreach} 在其下面添加 <tr> <td class="label">团购价格:</td> <td><input type="text" name="market_price" value="{$group_buy.market_price}" size="30" /> 该价格与价格阶梯价格相同,2个都不能少!</td> </tr> 3,admin/group_buy.php 找到'ext_info'=> serialize(array( 在其上面一行添加 'tuan_price'=> $tuan_price, 4,themes/default/group_buy_list.dwt大约61行 添加 市场价格:{$group_buy.shop_price1}<br /> 团购价格:{$group_buy.tuan_price1}<br /> 为您节省:{$group_buy.js}<br /> 折扣:{$group_buy.zk}<br /> 倒计时:<font id="timeszc{$group_buy.i}" color="#717171"size="2"></font><br /> 例:我的是在“{$lang.gb_price_ladder}<br />”上一行添加的 搜索</body>,在其上面一行添加: <SCRIPT LANGUAGE="JavaScript"> <!-- {foreach from=$gb_list item=val} --> function _fresh{$val.i}() { var endtime{$val.i}=new Date("{$val.end_timeno}"); var nowtime = new Date(); var leftsecond=parseInt((endtime{$val.i}.getTime()-nowtime.getTime())/1000); __d=parseInt(leftsecond/3600/24); __h=parseInt((leftsecond/3600)%24); __m=parseInt((leftsecond/60)%60); __s=parseInt(leftsecond%60); var c=new Date(); var q=((c.getMilliseconds())%10); if(leftsecond<=0){ document.getElementById("timeszc{$val.i}").innerHTML="促销已结束"; clearInterval(sh{$val.i}); } else { if (__h<10) {__h="0"+__h} //分数取两位,不足补0 if (__m<10) {__m="0"+__m} //秒数取两位,不足补0 if (__s<10) {__s="0"+__s} document.getElementById("timeszc{$val.i}").innerHTML=__d+" 天"+__h+" 时"+__m+" 分"+__s+" 秒"; } } _fresh{$val.i}() var sh{$val.i}; sh{$val.i}=setInterval(_fresh{$val.i},100); <!--{/foreach}--> </SCRIPT> 5,根目录/group_buy.php 找到function group_buy_list($size, $page) 下面全部替换 { /* 取得团购活动 */ $gb_list = array(); $now = gmtime(); $sql = "SELECT b.*, IFNULL(g.goods_thumb, '') AS goods_thumb, b.tuan_price, b.act_id AS group_buy_id, g.shop_price,". "b.start_time AS start_date, b.end_time AS end_date " . "FROM " . $GLOBALS['ecs']->table('goods_activity') . " AS b " . "LEFT JOIN " . $GLOBALS['ecs']->table('goods') . " AS g ON b.goods_id = g.goods_id " . "WHERE b.act_type = '" . GAT_GROUP_BUY . "' " . "AND b.start_time <= '$now' AND b.is_finished < 3 ORDER BY b.act_id DESC"; $res = $GLOBALS['db']->selectLimit($sql, $size, ($page - 1) * $size); $i = 1; while ($group_buy = $GLOBALS['db']->fetchRow($res)) { $ext_info = unserialize($group_buy['ext_info']); $group_buy = array_merge($group_buy, $ext_info); /* 格式化时间 */ $group_buy['i'] = $i ++; $group_buy['formated_start_date']= local_date($GLOBALS['_CFG']['time_format'], $group_buy['start_date']); $group_buy['formated_end_date']= local_date($GLOBALS['_CFG']['time_format'], $group_buy['end_date']); $group_buy['end_timeno']= local_date('Y/m/d H:i:s', $group_buy['end_date']); /* 格式化保证金 */ $group_buy['formated_deposit'] = price_format($group_buy['deposit'], false); $group_buy['shop_price1'] = price_format($group_buy['shop_price'], false); if ( $group_buy['tuan_price'] == 0) { $group_buy['tuan_price1'] = $group_buy['shop_price1']; $group_buy['js'] = 0; $group_buy['zk'] = 1; } else { $group_buy['tuan_price1'] = price_format($group_buy['tuan_price'], false); $group_buy['tuan_price'] = $group_buy['tuan_price']; $group_buy['js'] = $group_buy['shop_price']-$group_buy['tuan_price']; $group_buy['zk'] = round(($group_buy['tuan_price']/$group_buy['shop_price'])*10 ,2); } /* 处理价格阶梯 */ $price_ladder = $group_buy['price_ladder']; if (!is_array($price_ladder) || empty($price_ladder)) { $price_ladder = array(array('amount' => 0, 'price' => 0)); } else { foreach ($price_ladder as $key => $amount_price) { $price_ladder[$key]['formated_price'] = price_format($amount_price['price']); } } $group_buy['price_ladder'] = $price_ladder; /* 处理图片 */ if (empty($group_buy['goods_thumb'])) { $group_buy['goods_thumb'] = get_image_path($group_buy['goods_id'], $group_buy['goods_thumb'], true); } /* 处理链接 */ $group_buy['url'] = build_uri('group_buy', array('gbid'=>$group_buy['group_buy_id'])); /* 加入数组 */ $gb_list[] = $group_buy; } return $gb_list; } ?> 或者下载下面的文件直接覆盖 tuangou.rar (14.81 KB) 声明:大家有没有遇到问题都贴出来啊,一起交流一起成长! |
回答:
http://bbs.ecshop.com/thread-224616-1-1.html 来,哪位高手把我这个问题也给报销了! 没办法啊,一切以用户体验为主啊! |
我当初也是这个意思 我是想把团购那个直接改成促销,不需要团购,没有人数限制,就向聚美优品那样 |
楼主很不错啊 |
我是打酱油的,努力升级 |
顶起来!!! |
看的人多 回复的人少啊! |
这不挺好的吗?别改了。 |
按照步骤 也是这个问题 请问楼主怎么解决啊? |
我的也是啊。按照步骤 可是团购价格那里还是不能显示自己添加的价格出来。是不是因为我把表名修改过所以才出不来呢 |
在admin/templates/group_buy_info.htm这里的 团购价格: <td><input type="text" name="market_price" value="{$group_buy.market_price}" size="30" /> 该价格与价格阶梯价格相同,2个都不能少!</td> 要把红色的那两个改成tuan_price |
不错,支持了 |
高手啊 |
最近更新
常用插件
- ecshop注册推荐送现金插件
ecshop中的促销售功能还不是很完善,随着电子商务系统的发展和进步,...
- ecshop二次开发商品购买备
ecshop销售统计 插件介绍:ecshop二次开发订单销售统计和商品购买备注服...
- ecshop2.7.2退换货申请插件
ecshop2.7.2退换货申请插件,主要是在 ecshop 现在的基础上,对ecshop的订单处...
- ecshop二次商品订购人信息
ecshop二次商品订购人信息填写插件,有时候给朋友送花,或者是送礼品的...
- ecshop会员中心订单excel倒出
ecshop会员中心订单excel倒出...
ecshop热门问答
ecshop热门资料
ecshop短信发送
ecshopappend
ecshop用户接口
ecshop文章关联商品
ecshop会员订单
ecshop规格
ecshop产品订购
ecshop配送
ecshop显示分析
ecshopFCK
ecshop行间
ecshop总数
ecshop快递打印
ecshopalways
ecshop败笔
ecshopLicensed
ecshop深圳速汇通
kindeditor
ecshop拍卖
ecshopgzsjmg
ecshop建立网站
ecshopECM
ecshopphpmyadmin
ecshop驗證
ecshopMvMl
ecshop购物
ecshop横线
ecshop商品分类问题
ecshopECSHOP模板设计
ecshopexpress