1、商城网站设计樱桃时装-居然之家摘要:电子商务网站是在 Windows 系统环境下,以 Mysql 数据库开发平台,Apache 网络信息服务器,采用 PHP(Hypertext Preprocessor)技术开发的网上购物系统。本系统分为前台与后台两部分组成,前台主要针对消费者,主要包括商品展示、会员注册、购物车管理、商品收藏管理、订单管理等功能模块;后台由管理员使用,主要包括商品管理、进货管理、订单管理、系统管理等功能模块。通过这些功能的实现,给商家提供一个动态、交互式、具有商品提供、系统管理等功能的电子商务平台。关键字:电子商务网站,PHP 开发技术,数据库开发,网络购物Abstract:
2、 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 is divided into two parts of the front desk and the background, the fr
3、ont 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 including commodities management, purchase management, order management, system
4、 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 development technology;Database development ;Network shopping 目录摘要: .11、绪论 .21.2
5、 技术可行性分析 .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 增加商品颜色选择功能 .62.10 商品组合套餐功能 .62.11
6、 限时购功能开发 .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 在服务器
10、端执行,充分利用了服务器的性能;PHP 执行引擎还会将用户经常访问的 PHP 程序驻留在内存中,其他用户在一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是 PHP 高效率的体现之一。PHP 具有非常强大的功能,所有的 CGI 或者 JavaScript 的功能 PHP 都能实现,而且支持几乎所有流行的数据库以及操作系统。1.2.3 MySQL 数据库MySQL 是一种开 放 源 代 码 的关系型数 据 库 管 理 系统(RDBMS) ,MySQL 数据库系统使用最常用的数据库管理语言-结构化查询语言(SQL)进行数据库管理。由于 MySQL是开放源代码的,因此
11、任何人都可以在 General Public License 的许可下下载并根据个性化的需要对其进行修改,MySQL 因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL 是管理内容最好的选择。 MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。MySQL 数据库的导入,有两种方法:1) 先导出数据库 SQL 脚本,再导入;2) 直接拷贝数据库目录和文件。 在不同操作系统或 MySQL 版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。 1.2.4 动画的制作软件Photoshop8.0 是目前最流行的图形、图像
12、编辑设计软件,在数码影像处理图像编辑合成、广告设计、封面设计、美术绘画、网页设计等领域都被广泛地应用。(1)文字处理更加方便(2)增加的图层集使图层管理更有序。(3)新增图像功能:图像的剪切和剪裁更加方便。(4)将所有工具的选项板改进为工具选项放置在工作区顶部,方便选项参数的设置。时至今日 mysql 和 php 的结合绝对是完美.很多大型的网站也用到 mysql 数据库.mysql 的发展前景是非常光明的!2、商城设计与功能开发2.1 去除 ECSHOP 版权与标志、前台部分:1:去掉头部 TITLE 部分的 ECSHOP 演示站 Powered by ecshop前者在后台商店设置 - 商
13、店标题修改后者打开 includes/lib_main.php$page_title = $GLOBALS_CFGshop_title . - . Powered by ECShop;修改这里的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后台部
14、分:1.去除两张图片admin/images/ecshop_logo.gifadmin/images/login.png2.右上角的“关于 ECSHOP”打开 admin/templates/top.htm删除: $lang.about3.中部 ECSHOP 管理中心, 和底部的版权所有打开 language/zh_cn/admin/common.php$_LANGcp_home = ECSHOP 管理中心;$_LANGcopyright = 版权所有 2005-2009 上海商派网络科技有限公司,并保留所有权利。2.2 ECSHOP 后台为订单增加备注功能1. 添加表:ecs_order_n
15、ote;CREATE TABLE IF NOT EXISTS ecs_order_note (note_id mediumint(8) unsigned NOT NULL AUTO_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_o
16、rder_note = 客服人员订单备注:;3. 修改 admin/order.php 文件第 103 行,添加代码:/*- */- 保存订单备注/*- */ elseif ($_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
17、 = 0)$sql = “insert into “ . $ecs-table(order_note) .“(order_id,note_value) values(“ . $oid . “,“ . $oval . “)“; else$sql = “update “ . $ecs-table(order_note) . “ set note_value = “ . $oval .“ where order_id = “ . $oid;$db-query($sql);/echo “订单备注已保存!“;4.在以下代码下加入/* 取得能执行的操作列表 */ $operable_list = oper
18、able_list($order);$smarty-assign(operable_list, $operable_list);/* 取得订单备注- */$sql = “SELECT note_value 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_no
19、te在上面代码后面加入以下代码:$lang.label_order_note$order_note在本文件 admintemplatesorder_info.htm 的 JS 代码中加入下面内容/* 保存订单备注*/function saveOrderNote(oid,parm)var noteVal = parm.value;Ajax.call(order.php?is_ajax=1function saveOrderResponse(result)/alert(result);删除订单时删除关联的订单备注 admin/order.php找到下面代码:/* 删除订单 */$db-query(
20、“DELETE FROM “.$ecs-table(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 “ .$ec
21、s-table(order_note) . “ WHERE order_id = $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_ac
22、tion). “ WHERE order_id = $orderorder_id“);直接加入以下代码:/*根据订单编号,删除对应订单备注 (批量删除)*/$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 “.$GLO
23、BALSecs-table(order_goods). “ WHERE order_id = $order_id“);$GLOBALSdb-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.修改in
24、cludeslib_payment.php 文件,使网上支付成功后,订单状态为等待客户确认/* 修改订单状态为已付款 */$sql = UPDATE . $GLOBALSecs-table(order_info) .“ SET order_status = “ . OS_CONFIRMED . “, “ .“ confirm_time = “ . gmtime() . “, “ .“ pay_status = $pay_status, “ .“ pay_time = “.gmtime().“, “ .“ money_paid = order_amount,“ .“ order_amount =
25、 0 “.“WHERE order_id = $order_id“;$GLOBALSdb-query($sql);/* 记录订单操作记录 */order_action($order_sn, OS_CONFIRMED, SS_UNSHIPPED, $pay_status, $note, $GLOBALS_LANGbuyer);修改为:/* 修改订单状态为已付款 */$sql = UPDATE . $GLOBALSecs-table(order_info) .“ SET order_status = “ . OS_UNCONFIRMED . “, “ .“ confirm_time = “ . g
26、mtime() . “, “ .“ 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_UNCONFIRMED, SS_UNSHIPPED, $pay_status, $note, $GLOBALS_LANGbuyer);2.修改根目录下的 f
27、low.php 文件,使用余额付款时订单状态为等客服确认,只需把/$orderorder_status = OS_CONFIRMED;注解掉,或都改为$orderorder_status = OS_UNCONFIRMED;/* 如果订单金额为 0(使用余额或积分或红包支付) ,修改订单状态为已确认、已付款 */if ($orderorder_amount $lang.goods_name$sort_goods_name下增加:$lang.goods_name_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_fonthtml_options options=$lang.font_styles selected=$goods_name_style$lang.require_field下面增加: