ecshop教程ajax更新购物车数量

合集下载

ECShop功能介绍

ECShop功能介绍

指导老师:黄华毕业学校:清远职业技术学院ECShop简介是Comsenz公司推出的一款B2C独立网店系统,现已出售给ShopEX的开发商上海商派网络科技有限公司。

适合企业及个人快速构建个性化网上商店。

系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。

ECShop悉心听取每一位商家的需求与建议,不仅设计了人性化的网店管理系统帮助商家快速上手,还根据中国人的购物习惯改进了购物流程,实现更好的用户购物体验。

经过近两年的发展,ECShop网店系统无论在产品功能、稳定性、执行效率、负载能力、安全性和SEO支持(搜索引擎优化)等方面都居国内同类产品领先地位,成为国内最流行的购物系统之一。

ECShop功能介绍1. 灵活的模版机制ECShop开发了独有的高效模板引擎(2.15以前版本使用smarty模板引擎),并结合了Dreamweaver的模板和库功能,使得编辑制作模板变得更简单。

2. 开放的插件机制支付、配送,会员整合都是以插件形式实现。

商家可以随时增加或变更的支付方式和配送体系。

ecshop支持大部分php开发的论坛系统,包括discuz,phpwind 等,只需在后台做简单参数配置,即可完成会员整合。

3. 功能 AJAX 化ECSHOP 使用目前流行的 AJAX 技术,批量数据编辑变得更迅速,方便。

4. 促销功能ECSHOP提供了积分、红包、赠品,夺宝奇兵等多种促销方法。

5. 高效率的代码和执行性能通过优化代码与数据库结构,配合ecshop独家设计的缓存机制,在不考虑网速的情况下,网店动态页面与纯静态页面访问速度相当。

6. 常规功能的更完善实现针对常规功能尤其是后台管理和购物流程,ECShop进行了更简洁的设计,实现更好的用户体验。

7. 搜索引擎优化在 SEO (搜索引擎优化)上,ECShop独家支持两种 URL 重写方式,并且是同类软件中第一家支持 google/ yahoo / microsoft 三家共同发布的 sitemaps 0.9 网站索引规范,能够为站点被搜索引擎收录做到最大限度的支持和帮助。

ecshop购买数量加减控制修改优化

ecshop购买数量加减控制修改优化

ecshop购买数量加减控制修改优化
ecshop商品采购页里的采购数量默许是个文本框,假如需求采购的数量不是1件的话需求先在数量的文本框内填上所需求的件数,再点击参加购物车。

从用户体会的视点这不是太好,由于用户阅读网站时大多时分都运用鼠标,从细节的用户体会来思考,最佳不要让用户频频的在鼠标和键盘中切换操作。

而假如按默许ecshop模板及大多数开发的模板来看,都延用了ecshop自身的程序没有进行太多修正和优化。

从调查大型电商网站能够发现,一般它们运用的是在文本框邻近放置两个按钮,经过鼠标点击按钮来进行数量的增减。

本期咱们将来修正这个细节。

以买油画为例,点开一个商品页:,在采购数量的文本框里前后各有一个加减按钮,我是怎么做到的呢?放出代码:在商品详情页模板或详细购物框的库文件中,将代码:{$lang.number}{$lang.colon}
修正成{$lang.number}{$lang.colon}1){document.getElementById(“nu mber”).value–;}’ src=””>
onclick=’document.getElementById(“number”).value++;’src=””>我们能够对比增加的代码,应用到自个的模板上,然后自行调理css即可。

一起能够发现,那两个加减按钮其实是一个gif 图像。

完结这个修正后,采购体会比原先好了许多。

ecshop详情页和购物车购买数量前后添加加减

ecshop详情页和购物车购买数量前后添加加减

ecshop详情页和购物车购买数量前后添加加减ECSHOP开发中心()给数量框两侧添加“+”“-”按钮。

1、修改/js/common.js,在最后添加以下代码:/*** 购物车加减按钮* @param txt_id 数量的ID* @param type 加+ 减-* @param num 添加或者减少的数量默认为一*/function cart_number(txt_id, type, num){num = num || 1;var txt = document.getElementById(txt_id);var source_num = parseInt(txt.value);if (source_num == 1 && type == '-'){alert('请最少购买一个商品');return;}var to_num = source_num;if (type == '+'){to_num += num;}else if (type == '-'){to_num -= num;}txt.value = to_num;showdiv(txt);}复制代码2、修改模版文件夹下flow.dwt,添加以下代码:搜索goods_number 的input, 在input 两侧添加以下代码,其中“+”“-”也可以换成加号和减号的图片:<a href="javascript:cart_number('goods_number_{$goods.rec_id}', '-');">-</a><a href="javascript:cart_number('goods_number_{$goods.rec_id}', '+');">+</a>复制代码说明:这个修改方法是用在购物车页面,不过有个缺点是,它不是基于ajax,所以修改数量后要点“更新购物车”才可以。

Ecshop二次开发

Ecshop二次开发

Ecshop二次开发,增加用户订单编辑功能/post/74.htmlEcshop是一款开源免费的网上商店系统。

功能很强大,但是也有很多的不足,不过幸好该系统是开源的,可以自己修改扩展进行ecshop二次开发。

呵呵,下面就介绍一下怎么我扩展用户的订单编辑功能。

第一步:准备模版文件。

修改模板文件中的user_transaction.dwt。

在文件中增加一段用户显示用户编辑订单的界面模版,其实该模版可以从该文件中的详细订单显示界面模板修改过来,只要截取商品列表和费用总计部分就好!1、搜索”<!– {if $allow_to_cart} –>”,在该代码的前面加入:<!– {if $allow_to_modify} –><a href="user.php?act=modify&order_id={$order.order_id}">编辑订单</a><!– {/if} –>2、搜索“<!– #BeginLibraryItem "/library/help.lbi" –>”,在其之前加入:<!–修改订单–><!–{if $action eq "modify"} –>{insert_scripts files=‟transport.js‟}<div class="titles">修改订单</div><div class="listbox"><form action="user.php" name="list" method="post"><table width="100%" id="orderlist2"><tr><th>{$lang.goods_name}</th><th>{$lang.goods_attr}</th><th align="right">{$lang.goods_price}<!–{if $order.extension_code eq "group_buy"} –>{$lang.gb_deposit}<!– {/if} –></th><th width="60px;" style="text-align:center">{$lang.number}</th><th width="60px;" class="rightborder">{$lang.subtotal}</th><th width="60px;" class="rightborder">操作</th></tr><!– {foreach from=$goods_list item=goods} –><tr><td><a href="goods.php?id={$goods.goods_id}" target="_blank">{$goods.goods_name}</a><!– {if $goods.parent_id > 0} –><span style="color:#FF0000">({$lang.accessories})</span><!– {elseif $goods.is_gift} –><span style="color:#FF0000">({$rgess})</span><!– {/if} –></td><td>{$goods.goods_attr|nl2br}</td><!–<td>{$goods.market_price}</td>–><td >{$goods.goods_price}</td><td ><input type=text name=good_number[{$goods.goods_id}] size=5 value="{$goods.goods_number}" style="text-align:center"></td><td class="rightborder">{$goods.subtotal}</td><td style="text-align:center;line-height:150%"><a href="javascript:if (confirm(‟你确定要删除该商品吗?‟)) location.href=‟user.php?act=modify&do=del&oid={$order.order_id}&bid={$goods.goods_id}‟; ">{$lang.drop}</a></td></tr><!– {/foreach} –><tr><td colspan="8" style="border-top:1px dotted #DADADA;text-align:right;">{$lang.shopping_money}<!–{if $order.extension_code eq "group_buy"} –>{$lang.gb_deposit}<!– {/if} –>: {$order.formated_goods_amount}</td></tr></table><table width="716" border="0" cellspacing="0" cellpadding="0"><tr><td width="300" height="50" align="center" valign="bottom"><input type="image" src="images/edit_button.gif" width="100" height="40" border="0" /></td><td width="416">&nbsp;</td></tr></table><input type="hidden" name="do" value="update"><input type="hidden" name="act" value="modify"><input type="hidden" name="oid" value="{$order.order_id}"></form></div><div class="titles">费用总计</div><div class="listbox"><table width="100%" border="0" align="center" cellpadding="4" cellspacing="2"><tr><td align="right">{$lang.goods_all_price}<!–{if $order.extension_code eq "group_buy"} –>{$lang.gb_deposit}<!– {/if} –>: {$order.formated_goods_amount}<!– {if $order.discount gt 0} 折扣–>- {$lang.discount}: {$order.formated_discount}<!– {/if} –><!– {if $order.tax gt 0} –>+ {$lang.tax}: {$order.formated_tax}<!– {/if} –><!– {if $order.shipping_fee > 0} –>+ {$lang.shipping_fee}: {$order.formated_shipping_fee}<!– {/if} –><!– {if $order.insure_fee > 0} –>+ {$lang.insure_fee}: {$order.formated_insure_fee}<!– {/if} –><!– {if $order.pay_fee > 0} –>+ {$lang.pay_fee}: {$order.formated_pay_fee}<!– {/if} –><!– {if $order.pack_fee > 0} –>+ {$lang.pack_fee}: {$order.formated_pack_fee}<!– {/if} –><!– {if $order.card_fee > 0} –>+ {$lang.card_fee}: {$order.formated_card_fee}<!– {/if} –></td></tr><tr><td align="right"><!– {if $order.money_paid > 0} –>- {$lang.order_money_paid}: {$order.formated_money_paid}<!– {/if} –><!– {if $order.surplus > 0} –>- {$e_surplus}: {$order.formated_surplus}<!– {/if} –><!– {if $order.integral_money > 0} –>- {$e_integral}: {$order.formated_integral_money}<!– {/if} –><!– {if $order.bonus > 0} –>- {$e_bonus}: {$order.formated_bonus}<!– {/if} –></td></tr><tr><td align="right" style="border-top: 1px dotted #DADADA">{$lang.order_amount}: {$order.formated_order_amount}<!–{if $order.extension_code eq "group_buy"} –><br />{$lang.notice_gb_order_amount}<!– {/if} –></td></tr><!– {if $allow_edit_surplus} 如果可以编辑使用余额数–><tr><td align="right" style="border-top: 1px dotted #DADADA"><form action="user.php" method="post" name="formFee" id="formFee">{$e_more_surplus}:<input name="surplus" type="text" size="8" value="0" />{$max_surplus}<input type="submit" name="Submit" value="{$lang.button_submit}" /><input type="hidden" name="act" value="act_edit_surplus" /><input type="hidden" name="order_id" value="{$smarty.get.order_id}" /> </form></td></tr>{/if}</table></div><!–{/if}–><!–#修改订单–>第二步、编辑user.php文件1、在$ui_arr 中加入"modify“.* 显示页面的action列表*/$ui_arr = array(‟register‟, …login‟, …profile‟, …order_list‟, …modify…,‟order_detail‟, …address_list‟, …collection_list‟,'message_list‟, …tag_list‟, …get_password‟, …reset_password‟, …booking_list‟, …add_booking‟, …account_raply‟,'account_deposit‟, …account_log‟, …account_detail‟, …act_account‟, …pay‟, …default‟, …bonus‟, …group_buy‟, …group_buy_detail‟, …affiliate‟, …comment_list‟,'validate_email‟,'track_packages‟, …transform_points‟);2、在下面所示代码中,增加$smarty->assign(‟allow_to_modify‟,1);/* 未发货,未付款时允许更换支付方式和修改订单*/if ($order['order_amount'] > 0 && $order['pay_status'] == PS_UNPAYED && $order['shipping_status'] == SS_UNSHIPPED){$payment_list = available_payment_list(false, 0, true);$smarty->assign(‟allow_to_modify‟,1);3、在“//删除订单中的商品”的方面,加入下载代码:/*修改订单*/elseif($action==‟modify‟){function multiArraySearch($needle, $haystack){$value = false;$x = 0;foreach($haystack as $temp){// print_r($temp);$search = array_search($needle, $temp);if (strlen($search) > 0 && $search >= 0){$value[0] = $x;//$value[1] = $search;}$x++;}return $value;}include_once(ROOT_PATH . …includes/lib_transaction.php‟);include_once(ROOT_PATH . …includes/lib_payment.php‟);include_once(ROOT_PATH . …includes/lib_order.php‟);include_once(ROOT_PATH . …includes/lib_clips.php‟);if($_REQUEST['do']=="del"){$oid=$_REQUEST['oid'];$gid=$_REQUEST['bid'];$sql="select goods_price,goods_number from ".$ecs->table("order_goods")." where goods_id=$gid";$result=$db->getrow($sql);$order = get_order_detail($oid, $user_id);//取得订单$sql="delete from ".$ecs->table("order_goods")." where goods_id=$gid and order_id=$oid";//删除商品$db->query($sql);$sql="select configure from ".$ecs->table("shipping_area")." where shipping_id=".$order['shipping_id'];$shipping_fee=$db->getrow($sql);$tempa=unserialize($shipping_fee['configure']);$shipping=multiArraySearch("free_money",$tempa);$free_money=$tempa[$shipping[0]]['value'];//找出免运费的额度$market_price=$order['goods_amount']-$result['goods_price']*$result['goods_number'];$inv_id=array_search($order['inv_type'],$GLOBALS['_CFG']['invoice_type']['type']);$rate= floatval($GLOBALS['_CFG']['invoice_type']['rate'][$inv_id])/100;$tax=$order['tax']-($result['goods_price']*$result['goods_number'])*$rate;$addpay_fee=pay_fee($order['pay_id'],$result['goods_price']*$result['goods_number']);//删除的支付费用$pay_fee=$order['pay_fee']-$addpay_fee;$order_amount=$market_price-$discount+$tax+$pay_fee;$shipping_fee=$order['shipping_fee'];if($market_price>=$free_money){$order_amount=$order_amount-$shipping_fee;$shipping_fee="0.00";}else{if($shipping_fee<=0){$shipping=multiArraySearch("basic_fee",$tempa);$shipping_fee=$tempa[$shipping[0]]['value'];//找出基本运费的$order_amount=$order_amount+$shipping_fee;}}//更新订单信息$sql="update ".$ecs->table("order_info")." set goods_amount=‟".$market_price."‟,discount=‟".$discount."‟,shipping_fee=‟".$shipping_fee."‟,tax=‟".$tax."‟ ,pay_fee=‟".$pay_fee."‟,order_amount=‟".$order_amount."‟ where order_id=$oid";$db->query($sql);$order = get_order_detail($oid, $user_id);//再一次查检订单参数if($order['goods_amount']<=0){$sql="delete from ".$ecs->table("order_info")." where order_id=$oid";$db->query($sql);ecs_header("Location: user.php?act=order_list");exit();}ecs_header("Location: user.php?act=modify&order_id=".$oid);exit();}if($_REQUEST['do']=="update"){//更新商品数量$oid=$_REQUEST['oid'];$gid=$_REQUEST['bid'];$nums=$_REQUEST['good_number'];foreach($nums as $gid=>$num){$sql="select goods_price,goods_number from ".$ecs->table("order_goods")." where goods_id=$gid";$result=$db->getrow($sql);$order = get_order_detail($oid, $user_id);//取得订单$sql_storage = "SELECT goods_name,goods_number FROM " .$ecs->table(‟goods‟). " WHERE goods_id = $gid";$storage_num = $db->getRow($sql_storage);//库存if($result['goods_number']==$num){continue;}elseif($num<=0){show_message("对不起,您修改的商品数量不能为0,或小于0!", "返回", …user.php?act=modify&order_id=‟.$oid, …error‟);exit();}elseif ($num>$storage_num['goods_number']){show_message("对不起,您修改的商品数量不能大于该商品:".$storage_num['goods_name'].",库存数:".$storage_num['goods_number']."!", "返回", …user.php?act=modify&order_id=‟.$oid, …error‟);exit();}$addnum=$num-$result['goods_number'];$sql="update ".$ecs->table("order_goods")." set goods_number=".$num." where goods_id=$gid and order_id=$oid";//添加商品$db->query($sql);$sql="select configure from ".$ecs->table("shipping_area")." where shipping_id=".$order['shipping_id'];$shipping_fee=$db->getrow($sql);$tempa=unserialize($shipping_fee['configure']);$shipping=multiArraySearch("free_money",$tempa);$free_money=$tempa[$shipping[0]]['value'];//找出免运费的额度$market_price=$order['goods_amount']+$result['goods_price']*$addnum; //修改后商品总价格$inv_id=array_search($order['inv_type'],$GLOBALS['_CFG']['invoice_type']['type']);$rate=floatval($GLOBALS['_CFG']['invoice_type']['rate'][$inv_id])/100;$tax=$order['tax']+($result['goods_price']*$addnum)*$rate;//修改后税额$addpay_fee=pay_fee($order['pay_id'],$result['goods_price']*$addnum- $school_dis);//支付费用$pay_fee=$order['pay_fee']+$addpay_fee;$order_amount=$order['order_amount']+($result['goods_price']*$addnum)-$school_dis+($result[' goods_price']*$addnum)*$rate+$addpay_fee;//修改后订单总额$shipping_fee=$order['shipping_fee'];if($market_price>=$free_money){$order_amount=$order_amount-$shipping_fee;$shipping_fee="0.00";}else{if($shipping_fee<=0){$shipping=multiArraySearch("basic_fee",$tempa);$shipping_fee=$tempa[$shipping[0]]['value'];//找出基本运费的$order_amount=$order_amount+$shipping_fee;}}//更新订单信息$sql="update ".$ecs->table("order_info")." set goods_amount=‟".$market_price."‟,discount=‟".$discount."‟,shipping_fee=‟".$shipping_fee."‟,tax=‟".$tax."‟,pay_fee=‟".$pay_fee."‟ ,order_amount=‟".$order_amount."‟ where order_id=$oid";$db->query($sql);}$order = get_order_detail($oid, $user_id);//再一次查检订单参数if($order['goods_amount']<=0){$sql="delete from ".$ecs->table("order_info")." where order_id=$oid";$db->query($sql);ecs_header("Location: user.php?act=order_list");exit();}ecs_header("Location: user.php?act=order_detail&order_id=".$oid);exit();}$order_id = isset($_GET['order_id']) ? intval($_GET['order_id']) : 0;$order = get_order_detail($order_id, $user_id);/* 订单商品*/$goods_list = order_goods($order_id);foreach ($goods_list AS $key => $value){$goods_list[$key]['market_price'] = price_format($value['market_price'], false);$goods_list[$key]['goods_price'] = price_format($value['goods_price'], false);$goods_list[$key]['subtotal'] = price_format($value['subtotal'], false);}$smarty->assign(‟order‟, $order);$smarty->assign(‟goods_list‟, $goods_list);$smarty->display(‟user_transaction.dwt‟);}。

Ecshop使用说明流程图

Ecshop使用说明流程图

Ecshop 使用说明流程图及分析一、功能模块概述电子商务商品管理订单管理会员管理管理员管理文章管理系统设置商品列表添加商品商品分类商品品牌商品回收站订单列表订单查询订单状态变更删除订单会员列表添加新会员会员等级会员评论资金管理管理员列表管理员权限文章分类文章列表商店设置配送方式地区列表友情链接验证码管理自定义导航栏商品类型二、商品管理2.1商品列表通过查询数据库中的商品信息,将相关信息显示在页面上,并提供相应操作连接。

添加编辑复制 放入回收站搜索查看2.1.1商品列表所含功能说明商品列表商品列表添加商品商品编辑商品复制商品回收站商品查询2.1.2商品列表流程商品列表查询未放入回收站的商品信息输出数组至页面根据页面布局输出商品列表组合SQL语句,查询未放入回收站的商品获取返回的数组,传递到模版按规则显示数据简述:本功能主要实现显示出商品信息的功能,通过点击商品列表的链接,使用PHP查询没有放入回收站的商品信息,将返回值存储到数组中,通过模版引擎将数组传送到视图,利用模版引擎的格式输出查询到的数据。

2.1.3添加商品流程添加商品填写商品信息提交至处理页面保存到数据库并跳转至列表页添加商品填写表单信息提交到处理页面接收数据并存储到数组中组合插入数据的SQL语句将数据存储到相应的数据表中跳转到商品列表页面简述:本功能主要描述添加一件商品的过程。

点击添加商品按钮,调出需要填写的表单,表单填写完成后,通过提交,将数据提交到处理页面,由处理页面负责设置数组接收提交的数据,组合成插入的SQL语句,将数据写入到数据库表中,确认添加完成后跳转到商品列表页面,完成数据插入。

2.1.4商品编辑编辑商品修改商品信息提交至处理页面保存到数据库并跳转至列表页编辑商品修改表单信息提交到处理页面接收数据并存储到数组中组合更新数据的SQL语句将数据存储到相应的数据表中跳转到商品列表页面获取指定的商品信息获取商品ID根据商品ID查询出需要修改的商品信息按照规定的表单位置显示商品信息简述:本功能主要描述修改一件商品信息的过程。

Java-Web应用开发:修改和清空购物车

Java-Web应用开发:修改和清空购物车

4.3 修改和清空购物车1 目标在商品数量文本框内输入一个新的数量,点击“修改数量”,购物车刷新,按照新数量重新计算总金额。

如果用户输入“0”,修改数量之后,该条目从购物车中删除。

(程序未做JS有效值判断,所以请勿输入不合法的数量值)。

点击“清空购物车”,将购物车从session里删除。

2 思路(1) 购物车页面的表格是购物车对象cart的展示结果,表格中的每一行就是购物车cart中的一个元素,两者的内容和顺序是完全一样的。

(2) 购物车页面的表格是放在form表单里的,用户在文本框中修改数量后,点击“修改数量”超链接激发表单的提交,表单提交时,所有的数量文本框中的值都会被提交。

(3) 表单提交给CartEditServlet处理,该servlet取出每个商品数量文本框中的新值,将购物车里对应的商品数量修改为此新值(表格里的第一行商品对应的就是购物车里的第一件商品,第二行对应第二件,以此类推)。

如果某行的数量修改为0,这行对应的购物车商品就从购物车里移除。

(4) 数量文本框的命名规则为num+i,即第一件商品数量框名为num0,第二件为num1,第三件为num2。

这样在遍历购物车时,通过循环变量,就能拼接出当前商品的数量文本框名称,从而获得当前商品的新数量。

(5) 购物车商品数量修改完毕后,forward回查看购物车页面showCart.jsp,展示修改后的结果。

(6) 清空购物车,将购物车对象从session中移除或者把购物车对象clear。

3 步骤3.1 创建CartEditServlet类在cn.estore.servlet.cart包中,创建CartEditServlet类,该servlet处理购物车的修改和清空,由请求参数action的值区分用户动作,请求提交给此servlet的时候必须提供?action=**参数,如果action=clear表示清空,action=modify表示修改数量。

济南网站制作,ecshop后台ajax无刷新修改商品数量原理分析

济南网站制作,ecshop后台ajax无刷新修改商品数量原理分析

济南网站制作中,做商城ecshop系统一个不错的选择,他的功能和成熟的系统模式,使得许多济南网站建设公司越来越对ecshop有更多的信赖,其中ecshop中的ajax效果做的非常好,可以直接在后台的列表界面就能修改商品数量,库存数量,商品名称等,无需点击编辑重新提交表单,使得用户体验做的非常好,简介方便。

济南腾飞网络这篇文章讲解一下,ecshop后台ajax无刷新修改商品数量的原理是什么,怎么实现的。

一、演示效果图:二、无刷新修改商品数量实现方法:我们通过上图可以看到这里执行了一个onclick事件,通过点击触发listTable函数的edit方法,下面我们看下这个函数是怎么写的。

/*** 创建一个可编辑区*/listTable.edit = function(obj, act, id){var tag = obj.firstChild.tagName;if (typeof(tag) != "undefined" && tag.toLowerCase() == "input") {return;}/* 保存原始的内容*/var org = obj.innerHTML;var val = Browser.isIE ? obj.innerText : obj.textContent;/* 创建一个输入框*/var txt = document.createElement("INPUT");txt.value = (val == 'N/A') ? '' : val;txt.style.width = (obj.offsetWidth + 12) + "px" ;/* 隐藏对象中的内容,并将输入框加入到对象中*/obj.innerHTML = "";obj.appendChild(txt);txt.focus();/* 编辑区输入事件处理函数*/txt.onkeypress = function(e){var evt = Utils.fixEvent(e);var obj = Utils.srcElement(e);if (evt.keyCode == 13){obj.blur();return false;}if (evt.keyCode == 27){obj.parentNode.innerHTML = org;}}/* 编辑区失去焦点的处理函数*/txt.onblur = function(e){if (Utils.trim(txt.value).length > 0){res = Ajax.call(listTable.url, "act="+act+"&val=" + encodeURIComponent(Utils.trim(txt.value)) +"&id=" +id, null, "POST", "JSON", false);if (res.message){alert(res.message);}if(res.id && (res.act == 'goods_auto' || res.act == 'article_auto')){document.getElementById('del'+res.id).innerHTML = "<a href=\""+ thisfile +"?goods_id="+ res.id +"&act=del\" onclick=\"return confirm('"+deleteck+"');\">"+deleteid+"</a>";}obj.innerHTML = (res.error == 0) ? res.content : org;}else{obj.innerHTML = org;}}}通过我们观察这个函数的写法,得出这个函数的意思,创建一个可编辑区域,然后在鼠标失去焦点的时候执行Ajax.call这个函数。

ecshop二次开发,常用功能开发

ecshop二次开发,常用功能开发

ecshop二次开发,常用功能开发ecshop二次开发,常用功能开发1、ECSHOP 搜索智能提示(即联想功能)2、购物车动态更新,数量左右有+ - 点击即可实时改变价格,购买商品“加入购物车”,弹出特效窗口,购物车属性,加减号3、信任登陆:QQ、新浪微博、淘宝/支付宝等合作登录功能插件含后台设置功能(可选)4、ecshop自定义URL/链接,支持无限级目录,对提高SEO排名很有帮助、/thread-__-1-1.html5、Ecshop自动生成购买记录和评论插件6、物流跟综7、资讯站自动内链功能,在后台设置关键词,资讯站相关关键词可点到商品或分类8、简化购物流程购物流程整合成单页面运费无刷新变化所有操作在单页面完成,简化了购物流程,提高成交,将购物车、填写收货地址、物流方式和支付方式集成在一个页面上完成,9、ecshop 网站商品图片分步加载,(图片太多,加载会很慢,页面在第一屏就加载第一屏,拖动后自动加载),类似于京东,趣玩网的图片预加载..ecshop二次开发,常用功能开发。

ecshop二次开发,常用功能开发10、ECSHOP CPS 广告联盟插件,11、促销期内,每个用户最多只允许购买N 件。

不论你是昨天买的,还是今天买的,还是明天买的,也不论你下多少订单,只要是在促销期内,购买数量加在一起不能超过N 件。

这个数字N 可以在后台设置。

例如对商品A做促销活动,规定在2022年-01-01 至2022年-02-01 期间,每个用户最多只能购买2件,在这个时间段之前或在这个时间段之后购买的话,不做任何限制。

12、限时抢购(限时抢拍)、团购(两种方式:普通团购、满多少团购价减多少)、秒杀、买就送、倒计时功能13、ECSHOP优惠套餐插件,仿趣玩网,支持多套餐,支持勾选ecshop二次开发,常用功能开发14、实现用户名或Email都能登陆15、未注册等提示性跳转,以浮动层表现15、其它,如浮动返回到顶部、浮动客服等ecshop二次开发,常用功能开发怎样把ECSHOP商城系统中的相对地址变成带域名的绝对地址?答:我们一般所说的绝对地址(也有朋友称其为:完整地址)是页前台查看源文件时,在源文件中都所能看到的带域名的完整URL形式,比如:“a href=“/sitemap.xml "__/a”修改说明:这样修改的好处:也许很多朋友都非常想把以mon.php这个文件把return $uri;修改为return 'http:// /'.$uri;为什么我的ECSHOP首页和商品列表页中的商品缩略图很模糊,我应该怎么做,图片才会清晰呢?答:经常看到论坛里有人反映说首页或列表页的缩略图的质量不高,比较模糊......原因是因为ECSHOP生成缩略图时,用到的函数imagejpeg() 没有设置质量参数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ajax更新购物车数量先打开flow.dwt,找到<!-- {if $goods.goods_idgt 0 && $goods.is_gifteq 0 && $goods.parent_ideq 0} 普通商品可修改数量 -->,把下面的input框里面的替换成1.<a href="javascript:;"onclick="red_num({$goods.rec_id},{$goods.goods_id});"> -</a><input type="text" name="goods_number[{$goods.rec_id}]"id="goods_number_{$goods.rec_id}" value="{$goods.goods_number}"size="4" class="inputBg" style="text-align:center "onblur="change_price({$goods.rec_id},{$goods.goods_id})"/><ahref="javascript:;"onclick='add_num({$goods.rec_id},{$goods.goods_id})' >+</a>复制代码然后在下一个</td>后加一段js代码1.<script type="text/javascript" charset="utf-8">2.function add_num(rec_id,goods_id)3.{4.document.getElementById("goods_number_"+rec_id+"").value++;5.6.var number =document.getElementById("goods_number_"+rec_id+"").value;7.Ajax.call('flow.php', 'step=update_group_cart&rec_id=' + rec_id+'&number=' + number+'&goods_id=' + goods_id, changePriceResp**e, 'GET', 'JSON');8.9.10.}11.12.function red_num(rec_id,goods_id)13.{14.if (document.getElementById("goods_number_"+rec_id+"").value>1)15.{16.document.getElementById("goods_number_"+rec_id+"").value--;17.}18.var number =document.getElementById("goods_number_"+rec_id+"").value;19.Ajax.call('flow.php', 'step=update_group_cart&rec_id=' + rec_id+'&number=' + number+'&goods_id=' + goods_id, changePriceResp**e, 'GET', 'JSON');20.21.22.}23.24.function change_price(rec_id,goods_id){25.var number =document.getElementById("goods_number_"+rec_id+"").value;26.//alert(number);27.Ajax.call('flow.php','step=update_group_cart&rec_id=' + rec_id+'&number=' + number+'&goods_id=' + goods_id, changePriceResp**e, 'GET', 'JSON');28.}29.30.function changePriceResp**e(result)31.{32.if(result.error == 1)33.{34.35.alert(result.content);36.document.getElementById("goods_number_"+result.rec_id+"").value=result.number;37.}38.else39.{40.41.document.getElementById('subtotal_'+result.rec_id).innerHTML =result.subtotal;//商品总价42.document.getElementById('cart_amount_desc').innerHTML =result.cart_amount_desc;//购物车商品总价说明43.document.getElementById('market_amount_desc').innerHTML =result.market_amount_desc;//购物车商品总市价说明44.45.}46.47.}48.</script>复制代码接着把下一行的1.<td align="right" bgcolor="#ffffff" >{$goods.subtotal}</td> 复制代码替换为1.<td align="right" bgcolor="#ffffff"id="subtotal_{$goods.rec_id}">{$goods.subtotal}</td>复制代码找到{$shopping_money}和{$market_price_desc},分别替换为1.<span id="cart_amount_desc">{$shopping_money}</span>复制代码和1.<span id="market_amount_desc">{$market_price_desc}</span>复制代码然后打开flow.php,在elseif ($_REQUEST['step'] == 'c**ignee')上面加这一段代码。

1.//二次开发,ajax更新购物车2.elseif($_REQUEST['step']=='update_group_cart')3.{4.include_once('includes/cls_json.php');5.$result = array('error' => 0, 'message' => '', 'content' => '','goods_id' => '');6.$json = new JSON;7.$rec_id = $_GET['rec_id'];8.$number = $_GET['number'];9.$goods_id = $_GET['goods_id'];10.$result['rec_id'] = $rec_id;11.12.13.14.if ($GLOBALS['_CFG']['use_storage'] == 1)15.{16.$goods_number = $GLOBALS['db']->getOne("select goods_number from".$GLOBALS['ecs']->table('goods')." where goods_id='$goods_id'");17.if($number>$goods_number)18.{19.$result['error'] = '1';20.$result['content'] ='对不起,您选择的数量超出库存您最多可购买'.$goods_number."件";21.$result['number']=$goods_number;22.die($json->encode($result));23.}24.25.}26.$sql = "UPDATE " . $GLOBALS['ecs']->table('cart') . " SETgoods_number = '$number' WHERE rec_id = $rec_id";27.$GLOBALS['db']->query($sql);28.29./* 取得商品列表,计算合计 */30.$cart_goods = get_cart_goods();31.32.$subtotal = $GLOBALS['db']->getONE("select goods_price *goods_number AS subtotal from ".$GLOBALS['ecs']->table('cart')."where rec_id = $rec_id");33.$result['subtotal'] = price_format($subtotal, false);34.$result['cart_amount_desc'] = sprintf($_LANG['shopping_money'],$cart_goods['total']['goods_price']);35.$result['market_amount_desc'] =sprintf($_LANG['than_market_price'],$cart_goods['total']['market_price'],$cart_goods['total']['saving'],$cart_goods['total']['save_rate']36.);37.38.die($json->encode($result));39.}。

相关文档
最新文档