版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、商城网站设计 樱桃时装-居然之家郑素婉2009级计算机网络技术摘要:电子商务网站是在Windows系统环境下,以Mysql数据库开发平台,Apache网络信息服务器,采用PHP(Hypertext Preprocessor)技术开发的网上购物系统。本系统分为前台与后台两部分组成,前台主要针对消费者,主要包括商品展示、会员注册、购物车管理、商品收藏管理、订单管理等功能模块;后台由管理员使用,主要包括商品管理、进货管理、订单管理、系统管理等功能模块。通过这些功能的实现,给商家提供一个动态、交互式、具有商品提供、系统管理等功能的电子商务平台。 关键字:电子商务网站,PHP开发技术,数据库开发,网络购
2、物Mall Web DesignZheng Su Wan(2009Computer network technology) Abstract: E-commerce sites is in Windows system environment, with Mysql database development platform, and Apache Internet information server, using PHP (Hypertext Preprocessor) technology development of online shopping system.This system
3、 is divided into two parts of the front desk and the background, the front office mainly for consumers, mainly including commodity exhibition, the register, shopping cart management, goods collection management, order management function module; The background by the controller used, mainly includin
4、g commodities management, purchase management, order management, system management function module. Through these function, to give businesses to provide a dynamic, interactive, has the goods, the function such as management system to provide e-commerce platform. Keyword:E-commerce sites;HP developm
5、ent technology;Database development ;Network shopping 目录摘要:11、绪论21.2 技术可行性分析31.2.1 动态网站31.2.2 PHP语言31.2.3 MySQL数据库41.2.4动画的制作软件42、商城设计与功能开发42.1去除ECSHOP版权与标志、42.2 ECSHOP后台为订单增加备注功能62.3将订单状态设为等待客户确认62.4商品扩展名功能开发62.5 多货币解决方案62.6 AJAX更新购物车数量功能62.7采用AJAX技术实现产品页的购买数量62.8 ECSHOP商品展示放大镜效果62.9 ECSHOP增加商品颜色选择
6、功能62.10商品组合套餐功能62.11限时购功能开发63、总结64、致谢71、绪论 1.1网站开发背景在已跨入21世纪的今天,随着时代的飞速发展,计算机网络也在飞速的发展和普及,人们也越来越多的在网上交流、交易、通讯等等。网络正向人们展示出一片不同于传统交流互动的新天地。中国网络上的个人网站设计或者精致小资,或者大气轩昂,内容更是五彩缤纷,奇思叠出,在商业网站的另一边,筑起了一道中文网络信息的亮丽风景。由于他们的存在,为中国互联网的支持者提供了一个坚实支持群体,因为大多数个人站长都是忠实的网虫,同时也为商业网站的发展提供了有益的补充。 1.2 技术可行性分析 基于PHP语言和MySQL数据库
7、的动态网站开发技术. 1.2.1 动态网站 动态网站并不是指具有动画功能的网站,而是指通过数据库进行架构的网站。 动态网站除了要设计网页外,还要通过数据库和编程序来使网站具有更多自动的和高级的功能。动态网站体现在网页一般是以asp,jsp,php,aspx等结束,而静态网页一般是HTML结尾,动态网站服务器空间配置要比静态的网页要求高,费用也相应的高,不过动态网页利于网站内容的更新,适合企业建站。 动态网站功能特点:动态网站可以实现交互功能,如用户注册、信息发布、产品展示、订单管理等等;动态网页并不是独立存在于服务器的网页文件,而是浏览器发出请求时才反馈网页;动态网页中包含有服务器端脚本,所以
8、页面文件名常以asp、jsp、php等为后缀。但也可以使用ulr静态化技术,使网页后缀显示为HTML。所以不能以页面文件的后缀作为判断网站的动态和静态的唯一标准。动态网页由于存在特殊代码,所以相比较静态网页,其对搜索引擎的友好程度相对要弱一些。(1)动态网页以数据库技术为基础,可以大大降低网站维护的工作量;(2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;(3)动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;(4)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据
9、库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求。 1.2.2 PHP语言 PHP 是一种HTML内嵌式的语言,它PHP 独特的语法混合了 C、Java、Perl以及 PHP 自创新的语法。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内
10、存中,其他用户在一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。 1.2.3 MySQL数据库 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言-结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改,MySQL因为其速度、可靠性和适
11、应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。 MySQL数据库的导入,有两种方法:1) 先导出数据库SQL脚本,再导入;2) 直接拷贝数据库目录和文件。 在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。 1.2.4动画的制作软件Photoshop8.0是目前最流行的图形、图像编辑设计软件,在数码影像处理图像编辑合成、广告设计、封面设计、美术绘画、网页设计等领域都被广泛地应用。(1)文字处理更加方便(2)增加的图层集使图层管理更有
12、序。(3)新增图像功能:图像的剪切和剪裁更加方便。(4)将所有工具的选项板改进为工具选项放置在工作区顶部,方便选项参数的设置。 时至今日 mysql 和 php 的结合绝对是完美.很多大型的网站也用到mysql数据库.mysql的发展前景是非常光明的!2、商城设计与功能开发2.1去除ECSHOP版权与标志、前台部分:1:去掉头部TITLE部分的ECSHOP演示站 Powered by ecshop前者在后台商店设置 - 商店标题修改后者打开includes/lib_main.php$page_title = $GLOBALS_CFGshop_title . - . Powered by ECS
13、hop;修改这里的Powered by ECShop2.去掉友情链接部分在后台的友情链接管理里修改3.去掉底部的Powered by ecshop 270打开 js/common.js删除第244行:onload = function()再打开模板文件夹的 library/page_footer.lbi删除 foreach from=$lang.p_y item=pv$pv/foreach$licensed后台部分:1.去除两张图片admin/images/ecshop_logo.gifadmin/images/login.png2.右上角的“关于ECSHOP”打开admin/template
14、s/top.htm删除: $lang.about3.中部 ECSHOP 管理中心, 和底部的版权所有打开language/zh_cn/admin/common.php$_LANGcp_home = ECSHOP 管理中心;$_LANGcopyright = 版权所有 © 2005-2009 上海商派网络科技有限公司,并保留所有权利。2.2 ECSHOP后台为订单增加备注功能1. 添加表:ecs_order_note;CREATE TABLE IF NOT EXISTS ecs_order_note ( note_id mediumint(8) unsigned NOT NULL AU
15、TO_INCREMENT, order_id mediumint(8) unsigned NOT NULL, note_value text NOT NULL, PRIMARY KEY (note_id) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;2.添加语言包 -languageszh_cnadminorder.php/* 订单备注*/$_LANGlabel_order_note = 客服人员订单备注:;3. 修改admin/order.php文件第103行,添加代码:/*- */- 保存订单备注/*- */ elseif ($
16、_REQUESTact = save_ordernote) $oid = $_REQUESToid; $oval = $_REQUESTnoteVal; $sql = select count(note_value) from . $ecs-table(order_note) . where order_id = $oid; $note_count = $db-getOne($sql); if ($note_count = 0) $sql = insert into . $ecs-table(order_note) . (order_id,note_value) values( . $oid
17、. , . $oval . ); else $sql = update . $ecs-table(order_note) . set note_value = . $oval . where order_id = . $oid; $db-query($sql); /echo 订单备注已保存!;4.在以下代码下加入/* 取得能执行的操作列表 */ $operable_list = operable_list($order); $smarty-assign(operable_list, $operable_list); /* 取得订单备注- */ $sql = SELECT note_value
18、FROM . $ecs-table(order_note) . WHERE order_id = $orderorder_id; $order_note = $db-getOne($sql); $smarty-assign(order_note, $order_note);5.修改admintemplatesorder_info.htm文件, $lang.label_action_note 在上面代码后面加入以下代码: $lang.label_order_note $order_note 在本文件admintemplatesorder_info.htm的JS代码中加入下面内容/* * 保存订单
19、备注 */ function saveOrderNote(oid,parm) var noteVal = parm.value; Ajax.call(order.php?is_ajax=1&act=save_ordernote&oid=+oid+¬eVal=+noteVal, saveOrderResponse, POST, ); function saveOrderResponse(result) /alert(result);删除订单时删除关联的订单备注admin/order.php找到下面代码: /* 删除订单 */ $db-query(DELETE FROM .$ecs-tabl
20、e(order_info). WHERE order_id = $order_id); $db-query(DELETE FROM .$ecs-table(order_goods). WHERE order_id = $order_id); $db-query(DELETE FROM .$ecs-table(order_action). WHERE order_id = $order_id);在后面直接加入以下代码:(单个删除)/*根据订单编号,删除对应订单备注*/$db-query(DELETE FROM .$ecs-table(order_note) . WHERE order_id =
21、$order_id);批量删除,找到以下代码:约3000行后面 /* 删除订单 */ $db-query(DELETE FROM .$ecs-table(order_info). WHERE order_id = $orderorder_id); $db-query(DELETE FROM .$ecs-table(order_goods). WHERE order_id = $orderorder_id); $db-query(DELETE FROM .$ecs-table(order_action). WHERE order_id = $orderorder_id);直接加入以下代码:/*根
22、据订单编号,删除对应订单备注(批量删除)*/$db-query(DELETE FROM .$ecs-table(order_note) . WHERE order_id = $orderorder_id);在以下代码 $GLOBALSdb-query(DELETE FROM .$GLOBALSecs-table(order_info). WHERE order_id = $order_id); $GLOBALSdb-query(DELETE FROM .$GLOBALSecs-table(order_goods). WHERE order_id = $order_id);$GLOBALSdb-
23、query(DELETE FROM .$GLOBALSecs-table(order_action). WHERE order_id = $order_id);后面加入以下代码/*根据订单编号,删除对应订单备注*/$GLOBALSdb-query(DELETE FROM .$GLOBALSecs-table(order_note). WHERE order_id = $order_id);2.3将订单状态设为等待客户确认1.修改includeslib_payment.php文件,使网上支付成功后,订单状态为等待客户确认 /* 修改订单状态为已付款 */ $sql = UPDATE . $GLO
24、BALSecs-table(order_info) . SET order_status = . OS_CONFIRMED . , . confirm_time = . gmtime() . , . pay_status = $pay_status, . pay_time = .gmtime()., . money_paid = order_amount, . order_amount = 0 . WHERE order_id = $order_id; $GLOBALSdb-query($sql); /* 记录订单操作记录 */ order_action($order_sn, OS_CONFI
25、RMED, SS_UNSHIPPED, $pay_status, $note, $GLOBALS_LANGbuyer);修改为: /* 修改订单状态为已付款 */ $sql = UPDATE . $GLOBALSecs-table(order_info) . SET order_status = . OS_UNCONFIRMED . , . confirm_time = . gmtime() . , . pay_status = $pay_status, . pay_time = .gmtime()., . money_paid = order_amount, . order_amount =
26、 0 . WHERE order_id = $order_id; $GLOBALSdb-query($sql); /* 记录订单操作记录 */ order_action($order_sn, OS_UNCONFIRMED, SS_UNSHIPPED, $pay_status, $note, $GLOBALS_LANGbuyer);2.修改根目录下的flow.php文件,使用余额付款时订单状态为等客服确认,只需把/$orderorder_status = OS_CONFIRMED;注解掉,或都改为$orderorder_status = OS_UNCONFIRMED;/* 如果订单金额为0(使用
27、余额或积分或红包支付),修改订单状态为已确认、已付款 */ if ($orderorder_amount = 0) $orderorder_status = OS_UNCONFIRMED; /余额付款时订单状态为等客服确认 $orderconfirm_time = gmtime(); $orderpay_status = PS_PAYED; $orderpay_time = gmtime(); $orderorder_amount = 0; 3.修改Admin order.php,使操作记录订单状态而非未付款有两处:一个是批处理订单,二是操作订单状态(处理提交)order_action($or
28、derorder_sn, OS_CONFIRMED, SS_UNSHIPPED, PS_UNPAYED, $action_note);改为:order_action($orderorder_sn, OS_CONFIRMED, SS_UNSHIPPED, $orderpay_status, $action_note);/* todo 处理退款 */order_action($orderorder_sn, OS_CONFIRMED, SS_UNSHIPPED, PS_UNPAYED, $action_note);这个不修改4、修改adminorder.php和zh_cnuser.php的$_LAN
29、GosOS_UNCONFIRMED = 未确认;$_LANGun_confirm = 未确认;改为:$_LANGosOS_UNCONFIRMED = 等待客户确认;$_LANGun_confirm = 等待客户确认;2.4商品扩展名功能开发在数据库中加入ALTER TABLE ecs_goods ADD goods_name_extends VARCHAR( 120 ) NOT NULL AFTER goods_name_style打开admin/templates/good_list.html在$lang.goods_name$sort_goods_name下增加:$lang.goods_n
30、ame_extends$sort_goods_name_extends在$goods.goods_name|escape:html下增加:$goods.goods_name_extends|escape:html打开admin/templates/good_info.html在 $lang.lab_goods_name $lang.select_font html_options options=$lang.font_styles selected=$goods_name_style $lang.require_field 下面增加: $lang.lab_goods_name_e
31、xtends 打开/languages/zh_cn/admin/goods.php$_LANGgoods_name = 商品名称;下面增加$_LANGgoods_name_extends = 商品名称扩展;$_LANGlab_goods_name = 商品名称:;下面增加$_LANGlab_goods_name_extends = 商品名称扩展:;打开admin/good.php在 $sql = UPDATE . $ecs-table(goods) . SET . goods_name = $_POSTgoods_name, .下增加:goods_name_extends = $_POSTgo
32、ods_name_extends, . Themes/yintao/goods.dwt217行 $goods.goods_style_name$goods.goods_name_extends2.5 多货币解决方案在shop_config表中加入记录INSERT INTO ecs_shop_config (id ,parent_id ,code ,type ,store_range ,store_dir ,value ,sort_order )VALUES (NULL , 1, rate, text, , , 1,0.71,0.69,6.85,1.45, 1), (NULL , 1, ybpr
33、ice_format, text, , , &%s, 1),(NULL , 1, aprice_format, text, , , EUR%s, 1),(NULL , 1, cprice_format, text, , , ¥%s, 1),(NULL , 1, aoprice_format, text, , , AU%s, 1);修改languageszh_cnadminshop_config.php文件$_LANGcfg_namerate = 货币汇率;$_LANGcfg_nameybprice_format = 英镑格式;$_LANGcfg_nameaprice_format = 欧元格式
34、;$_LANGcfg_namecprice_format = 人民币格式;$_LANGcfg_nameaoprice_format = 澳元格式;$_LANGcfg_descrate = 输入规则按照和美元的汇率进行输入US,EUR,BritishPound,China,Austrilian;$_LANGcfg_descybprice_format = 显示英镑格式,%s将被替换为相应的价格;$_LANGcfg_descaprice_format = 显示欧元格式,%s将被替换为相应的价格;$_LANGcfg_desccprice_format = 显示人民币格式,%s将被替换为相应的价格;$
35、_LANGcfg_descaoprice_format = 显示澳元格式,%s将被替换为相应的价格;在网站模版目录themes/当前模板/library/page_header.lbi在上一行代码后面加入以下代码 美元 英镑 欧元 人民币 澳元在init.php文件最后插入以下代码$url_this=http:/.$_SERVERHTTP_HOST.$_SERVERPHP_SELF.?id=.$_GETid;/echo $url_this;$smarty-assign(url_head,$url_this);$currency=$_GETcur
36、rency;if ($currency!=) $_SESSIONcurrency=$currency;if ($_SESSIONcurrency=) $_SESSIONcurrency=USD;echo $_SESSIONcurrency;修改inlucdeslib_common.php里的price_format函数/* * 格式化商品价格 * * access public * param float $price 商品价格 * return string */function price_format($price, $change_price = true) $currency=$_S
37、ESSIONcurrency; $rate=explode(,$GLOBALS_CFGrate); if($currency=USD) $price=$price*$rate0; if($currency=CNY) $price=$price*$rate3; if($currency=EUR) $price=$price*$rate1; if($currency=GBP) $price=$price*$rate2; if ($change_price & defined(ECS_ADMIN) = false) switch ($GLOBALS_CFGprice_format) case 0:
38、$price = number_format($price, 2, ., ); break; case 1: / 保留不为 0 的尾数 $price = preg_replace(/(.*)(.)(0-9*?)0+$/, 123, number_format($price, 2, ., ); if (substr($price, -1) = .) $price = substr($price, 0, -1); break; case 2: / 不四舍五入,保留1位 $price = substr(number_format($price, 2, ., ), 0, -1); break; cas
39、e 3: / 直接取整 $price = intval($price); break; case 4: / 四舍五入,保留 1 位 $price = number_format($price, 1, ., ); break; case 5: / 先四舍五入,不保留小数 $price = round($price); break; else $price = number_format($price, 2, ., ); switch($currency) case USD: return sprintf($GLOBALS_CFGcurrency_format, $price); break; c
40、ase EUR: return sprintf($GLOBALS_CFGaprice_format, $price); break; case GBP: return sprintf($GLOBALS_CFGybprice_format, $price); break; case AUD: return sprintf($GLOBALS_CFGaoprice_format, $price); break; case CNY: return sprintf($GLOBALS_CFGcprice_format, $price); break; /return sprintf($GLOBALS_CFGcurrency_format, $price);修改表order_infoALTER TABLE ecs_order_info ADD currency VARCHAR( 10 ) NOT NULL ,ADD new_money DECIMAL( 10, 2 ) NOT NULL 修改flo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高端设备配置与医疗质量关联的机制研究
- 高端影像设备招标中的技术评分标准构建
- 幼儿园家长育儿讲座签到率与留存率-基于2024年讲座视频观看后台数据
- 幼儿园户外活动时间保障对幼儿体质发展影响-基于2024年活动时间与体质测试关联
- 2026年江苏省苏锡常镇四市2026届高三下学期5月二模试题 物理 含答案新版
- 招标代理服务方案
- 小学科学课堂教学设计
- 小学加减法教学活动方案
- 湘教版六年级音乐课程教学设计范例
- 小学教师任职以来个人工作总结
- 岗位系数说明正式公示版
- 血液透析室(中心)的人员配置及职责
- 第四种检查器介绍
- BB/T 0066-2017聚乙烯挤出发泡包装材料
- 马克思主义基本原理第一章案例
- 07.2五年级下册道德与法治第7课《不甘屈辱 奋勇抗争》PPT教学课件(第二课时)
- 安全生产责任保险制度解读与推行
- 变电站工程构架吊装方案
- 马克思主义基本原理概论:5.3 资本主义的历史地位和发展趋势
- 全国28个省、直辖市、自治区革命老区县市名单
- 身份证标志台帐
评论
0/150
提交评论