文档库 最新最全的文档下载
当前位置:文档库 › 网站功能二次开发之极速之家 毕业论文

网站功能二次开发之极速之家 毕业论文

图书分类号:

密级:

毕业设计(论文) 题目:网站功能二次开发之极速之家

学生姓名

班级

学院名称

专业名称

指导教师

学位论文原创性声明

本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用或参考的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标注。

本人完全意识到本声明的法律结果由本人承担。

论文作者签名:日期:年月日

学位论文版权协议书

本人完全了解关于收集、保存、使用学位论文的规定,即:本校学生在学习期间所完成的学位论文的知识产权归所拥有。有权保留并向国家有关部门或机构送交学位论文的纸本复印件和电子文档拷贝,允许论文被查阅和借阅。可以公布学位论文的全部或部分内容,可以将本学位论文的全部或部分内容提交至各类数据库进行发布和检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

论文作者签名:导师签名:

日期:年月日日期:年月日

I

网站功能二次开发之极速之家

(20**级计算机网络技术2班)

摘要:

越来越多的网络用户希望能够在网络平台上更加快捷方便地购物,更方便地与他人互动交流,拥有一个更实惠的空间。

首先介绍了网站设计的意义和背景,主流网站的主要功能。重点介绍了基于ecshop网站二次开发设计方案,实现的主要功能。其次,重点讲述了商品网站的逻辑层和持久层的设计与开发过程中所涉及的技术及开源框架。最后对ecshop网站开发中所碰到的一些问题,并针对这些问题提出一些解决方案,最后对系统性能作出一些简要评估,阐述了一些个人想法。

关键字:商品网站 ecshop 功能二次开发电子商务

2

Goods Website Func

Extreme home

(20**Computer network technology 2)

Abstract

More and more Internet users on the network platform in hope more convenient to shopping, more convenient to interact with others, have a more affordable space.

Firstly introduces the meaning of web site design and the background, the main function of mainstream web site. Focusing on the secondary development based on ecshop website, a design scheme of its main functions. Second, focuses on the web site of the goods and logic layer persistence layer in the process of design and development of the technology involved and open source framework. Finally ecshop web development in some of the problems that emerged, and in the light of these problems puts forward some solutions, in the end, system performance to make some brief assessment, including some individual ideas.

Key word: commodity website ecshop function secondary development E-commerce

3

目录

摘要..................................................................................错误!未定义书签。第一章:PHP网站简介.. (6)

1.1 PHP相关简介 (6)

1.2 SQL语言简介 (6)

1.3 动态网站

第二章:ecshop二次开发 (8)

2.1 ECSHPF版权与标志去除 (8)

2.1.1前台部分: (8)

2.1.1.1 去掉头部TITLE部分的ECSHOP演示站Powered by ecshop (8)

2.1.1.2 去掉友情链接部分 (8)

2.1.1.3 去掉底部的Powered by ecshop 2.7.0 (8)

2.1.2后台部分: (12)

2.1.2.1去除两张图片 (12)

2.1.2.2 右上角的“关于ECSHOP” (12)

2.1.2.3 中部ECSHOP 管理中心,和底部的版权所有 (12)

2.2 ECSHOP后台为订单增加备注功能 (13)

2.2.1 添加表:ecs_order_note; (13)

2.2.2 添加语言包--languages\zh_cn\admin\order.php (13)

2.2.3 修改admin/order.php文件第103行,添加代码: (13)

2.2.4 修改admin\templates\order_info.htm文件 (14)

2.3 将订单状态设为等待客户确认 (16)

2.3.1 修改\includes\lib_payment.php文件,使网上支付成功后,订单状态为等待客

户确认 (16)

2.3.2 修改根目录下的flow.php文件,使用余额付款时订单状态为等客服确认 ·17

2.3.3 修改Admin\ order.php,使操作记录订单状态而非未付款 (17)

2.4商品扩展名功能开发 (18)

2.4.1 拓展名添加 (18)

2.5多货币解方案的开发 (19)

2.5.1 在shop_config表中加入记录 (19)

2.5.2 修改\languages\zh_cn\admin\shop_config.php文件 (19)

2.5.3 在相应的模板themes/当前模板/library/page_header.lbi文件中 (20)

2.5.4 在/includes/init.php文件最后插入以下代码 (20)

2.5.5 修改\inlucdes\lib_common.php里的price_format函数 (20)

2.5.6 修改表order_info (22)

2.5.7 同时修改\inlucdes\lib_common.php在里面新增加price_format_hs函数 (22)

2.5.8 修改\includes\modules\payment\paypal.php (24)

2.5.9 修改/admin/order.php文件里 (24)

2.5.10 \inlucdes\lib_common.php里的price_format函数 (25)

2.6 AJAX实现购物车数量功能 (25)

2.6.1 修改flow.dwt (25)

4

2.6.2 修改flow.php (28)

2.7 AJAX实现产品页的购买数量 (32)

2.7.1 在所在的模板文件中的good.dwt的后面加入代码 (32)

第三章总结、致谢 (33)

总结33

致谢33

第四章参考资料 (33)

5

p第一章:PHP网站简介

1.1 PHP相关简介

PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。

PHP 最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf 写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对MS_SQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。

1.2 SQL语言简介

SQL全称是“结构化查询语言(Structured Query Language)”,最早是IBM的圣约瑟研

6

究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。目前,SQL语言已被确定为关系数据库系统的国际标准,被绝大多数商品化关系数据库系统采用,如Oracle 、Sybase、DB2、Informix、SQL Server这些数据库管理系统都支持SQL语言作为查询语言。

结构化查询语言SQL是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的功能极强的关系数据库标准语言。在SQL语言中不需要告诉SQL如何访问数据库,只要告诉SQL需要数据库做什么。

注:可以把“SQL”读作“sequel”,也可以按单个字母的读音读作S-Q-L。两种发音都是正确的,每种发音各有大量的支持者,在本实验中,认为“SQL”读作“sequel”。

1.3 动态网站

动态网站并不是指具有动画功能的网站,而是指通过数据库进行架构的网站。动态网站除了要设计网页外,还要通过数据库和编程序来使网站具有更多自动的和高级的功能。动态网站体现在网页一般是以asp,jsp,php,aspx等结束,而静态网页一般是HTML 结尾,动态网站服务器空间配置要比静态的网页要求高,费用也相应的高,不过动态网页利于网站内容的更新,适合企业建站。

动态网站功能特点:动态网站可以实现交互功能,如用户注册、信息发布、产品展示、订单管理等等;动态网页并不是独立存在于服务器的网页文件,而是浏览器发出请求时才反馈网页;动态网页中包含有服务器端脚本,所以页面文件名常以asp、jsp、php等为后缀。但也可以使用ulr静态化技术,使网页后缀显示为HTML。所以不能以页面文件的后缀作为判断网站的动态和静态的唯一标准。动态网页由于存在特殊代码,所以相比较静态网页,其对搜索引擎的友好程度相对要弱一些。

(1)动态网页以数据库技术为基础,可以大大降低网站维护的工作量;

(2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;

(3)动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;

7

(4)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求。

第二章:ecshop二次开发

2.1 ECSHPF版权与标志去除

(在前台部分去掉ecshop里的标志,换上自己特有logo具体做法如下:)

2.1.1前台部分:

Powered by ecshop

2.1.1.1 去掉头部TITLE部分的ECSHOP演示站

前者在后台商店设置 - 商店标题修改

后者打开includes/lib_main.php

$page_title = $GLOBALS['_CFG']['sho_title'] . ' - ' . 'Powered by ECShop';

修改这里的'Powered by ECShop

2.1.1.2 去掉友情链接部分

在后台的友情链接管理里修改

Powered by ecshop 2.7.0

2.1.1.3 去掉底部的

8

打开 js/common.js

删除第244行:onload = function()

第244行函数如下:

onload = function()

{

var link_arr = document.getElementsByTagName(String.fromCharCode(65));

var link_str;

var link_text;

var regg, cc;

var rmd, rmd_s, rmd_e, link_eorr = 0;

var e = new Array(97, 98, 99,

100, 101, 102, 103, 104, 105, 106, 107, 108, 109,

110, 111, 112, 113, 114, 115, 116, 117, 118, 119,

120, 121, 122

);

try

{

for(var i = 0; i < link_arr.length; i++)

{

link_str = link_arr.href;

if (link_str.indexOf(String.fromCharCode(e[22], 119, 119, 46, e[4], 99, e[18], e[7], e[14],

e[15], 46, 99, 111, e[12])) != -1)

{

if ((link_text = link_arr.innerText) == undefined)

{

throw "noIE";

}

regg = new RegExp(String.fromCharCode(80, 111, 119, 101, 114, 101, 100, 46, 42, 98, 121, 46, 42, 69, 67, 83, e[7], e[14], e[15]));

if ((cc = regg.exec(link_text)) != null)

{

if (link_arr.offsetHeight == 0)

{

break;

}

link_eorr = 1;

break;

}

}

else

{

9

link_eorr = link_eorr ? 0 : link_eorr;

continue;

}

}

} // IE

catch(exc)

{

for(var i = 0; i < link_arr.length; i++)

{

link_str = link_arr.href;

if (link_str.indexOf(String.fromCharCode(e[22], 119, 119, 46, e[4], 99, 115, 104, e[14],

e[15], 46, 99, 111, e[12])) != -1)

{

link_text = link_arr.textContent;

regg = new RegExp(String.fromCharCode(80, 111, 119, 101, 114, 101, 100, 46, 42, 98, 121, 46, 42, 69, 67, 83, e[7], e[14], e[15]));

if ((cc = regg.exec(link_text)) != null)

{

if (link_arr.offsetHeight == 0)

{

break;

}

link_eorr = 1;

break;

}

}

else

{

link_eorr = link_eorr ? 0 : link_eorr;

continue;

}

}

} // FF

try

{

rmd = Math.random();

rmd_s = Math.floor(rmd * 10);

if (link_eorr != 1)

{

rmd_e = i - rmd_s;

link_arr[rmd_e].href = String.fromCharCode(104, 116, 116, 112, 58, 47, 47, 119, 119, 119,46,

10

101, 99, 115, 104, 111, 112, 46, 99, 111, 109);

link_arr[rmd_e].innerHTML = String.fromCharCode(

80, 111, 119, 101, 114, 101, 100,38, 110, 98, 115, 112, 59, 98,

121,38, 110, 98, 115, 112, 59,60, 115, 116, 114, 111, 110, 103,

62, 60,115, 112, 97, 110, 32, 115, 116, 121,108,101, 61, 34, 99,

111, 108, 111, 114, 58, 32, 35, 51, 51, 54, 54, 70, 70, 34, 62,

69, 67, 83, 104, 111, 112, 60, 47, 115, 112, 97, 110, 62,60, 47,

115, 116, 114, 111, 110, 103, 62);

}

}

catch(ex)

{

}

}

再打开模板文件夹的 library/page_footer.lbi

删除 {foreach from=$lang.p_y item=pv}{$pv}{/foreach}{$licensed}

很多页面源代码的头部信息中会自动产生一行代码

应该也算是ECSHOP预留的版权信息吧,下面讲一下怎么删除这行代码,让系统不再自动产生。

打开 includes/cls_template.php 文件,

大概在1087行左右,找到

$source = preg_replace('//i', "\r\n

content=\"" . APPNAME .' ' . VERSION . "\" />", $source);

将之删除或者注释掉即可。

11

2.1.2后台部分:

2.1.2.1去除两张图片

admin/images/ecshop_logo.gif

admin/images/login.png

2.1.2.2 右上角的“关于ECSHOP”

打开admin/templates/top.htm

删除:

  • target="main-frame">{$lang.about}

  • 2.1.2.3 中部ECSHOP 管理中心,和底部的版权所有

    打开language/zh_cn/admin/common.php

    $_LANG['cp_home'] = 'ECSHOP 管理中心';

    $_LANG['copyright'] = '版权所有 © 2005-2009 上海商派网络科技有限公司,并保留所有权利。';

    可以更改管理员路径admin了但是官方并没有在后台做任何接口

    所以很多人可能都不知道要在哪里怎么去修改管理路径 admin

    只要修改data/config.php 中的define(‘ADMIN_PATH’,'admin’);

    很简单不要忘记改变admin目录为你修改的

    12

    // database host

    $db_host = “localhost:3306″;

    // database name

    $db_name = “**********”;

    // database username

    $db_user = “**********”;

    // database password

    $db_pass = “***********”;

    // table prefix

    $prefix = “ecs_”;

    $timezone = “PRC”;

    $cookie_path = “/”;

    $cookie_domain = “”;

    $session = “1440″;

    define(‘EC_CHARSET’,'gbk’);

    define(‘ADMIN_PATH’,’修改成你自己的路径’);

    define(‘AUTH_KEY’, ‘this is a key’);

    define(‘OLD_AUTH_KEY’, ”);

    ?>

    2.2 ECSHOP后台为订单增加备注功能

    2.2.1 添加表:ecs_order_note;

    2.2.2 添加语言包--languages\zh_cn\admin\order.php

    文件第103行,添加代码:

    2.2.3 修改admin/order.php

    13

    4.

    在以下代码下加入

    /* 取得能执行的操作列表 */

    $operable_list = operable_list($order);

    $smarty->assign('operable_list', $operable_list);

    14

    相关文档