Ecshop系统二次开发教程及流程演示
一、Ecshop简介:
ECShop是Comsenz公司推出的一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。
ECShop悉心听取每一位商家的需求与建议,不仅设计了人性化的网店管理系统帮助商家快速上手,还根据中国人的购物习惯改进了购物流程,实现更好的用户购物体验。
经过近两年的发展,ECShop网店系统无论在产品功能、稳定性、执行效率、负载能力、安全性和SEO支持(搜索引擎优化)等方面都居国内同类产品领先地位,成为国内最流行的购物系统之一。
二、Ecshop二次开发流程演示:
1、前台代码的修改:Ecshop模板网页默认会有Ecshop版权信息,我们要去掉这些LOGO,我们就需要进行如下的操作步骤:
1)去除前台底部查询信息的显示:
打开当前应用的主题模板文件,在/library/pagesooterlbi目录下,找到{insert name=’queryinfo’}大概在文件第63行处,将他删除就可以了。
2)去掉头部title的LOGO“ECSHOP演示站-Powered by ecshop”:
找到includes/lib_mainphp目录,找到$page_title = $GLOBALS['_CFG']['shop_title'] ' - ' 'Powered by ECShop';行,大概在文件的第143,修改Powered by ECShop语句,或者将他删除。
3)去掉底部LOGO“Powered by ecshop 272”:
找到js/commonjs目录,找到:onload = function()函数
onload = function()
{
var link_arr = documentgetElementsByTagName(StringfromCharCode(65));
…………
…………
115, 116, 114, 111, 110, 103, 62);
}
}
catch(ex)
{
}
}
大概在文中的第244行,将整个函数删除,然后在找到模板文件中的library/page_footerlbi目录,找到{foreach from=$langp_y item=pv}{$pv}{/foreach}{$licensed}语句,大概在文中的第63行,将他删除。
4)删除Ecshop模板左下角的LOGO
a、如果你想将它替换成自己公司的LOGO:就将该LOGO文件命名为logogif,并上传到服务器的“/themes/default/images/”目录下,并覆盖原来的文件。
b、删除ECShop默认的LOGO,不需要替换:打开“/themes/default/stylecss”目录文件,大概在文中第433行可以找到如下的语句:
#footer{background:url(images/logo1gif) no-repeat 5% 50%;
padding-left:200px; width:760px; margin:10px auto;}
将它修改为:#footer{padding-left:200px; width:760px; margin:10px auto;},并且删掉/library/page_footerlbi文件中的的img src='/images/footer-logogif' alt='' id='footer-logo' /语句。
5)修改文件代码头部的Generator标记:
找到includes/cls_ecshopphp文件,找到define('APPNAME', 'ECSHOP');语句,大概是文中的第21行,将其修改为define('APPNAME', '自定义的网站代号');
6)去掉手机访问网站底部出现的版权信息:
打开mobile/includes/lib_mainphp文件,找到“Copyright2009”和“Powered by ecshop”语句,大概在文中的第97行和101行,将前者修改为今年的版本号,后者修改为自己公司的名称就可以了。
7)去掉ecshop head 之间的Generator' content='ECSHOP v272':
打开includes/cls_templatephp文件,大概在1087行,找到“$source = preg_replace('/head/i', 'head/r/nmeta name=/'Generator/' content=/'' APPNAME ' ' VERSION '/' /', $source);”语句,将其删除或者注释掉就可以了。
2、后台代码修改部分:
1)去除后台右上角的“关于Ecshop”:
打开admin/templates/tophtm文件,大概在文中第194行的位置,找到lia href='indexphpact=about_us' target='main-frame'{$langabout}/a/li语句,将其删除。
2)修改后台的标题“Ecshop管理中心”和底部的版权信息:
打开language/zh_cn/admin/commonphp文件,大概在文中的第17行的位置,找到$_LANG['cp_home'] = 'ECSHOP 管理中心';,和18行的$_LANG['copyright'] = '版权所有 copy; 2005-2009 上海商派网络科技有限公司,并保留所有权利。';语句,修改后面的值为自己公司的名字和版权就可以了。
3)删除提交资料到Ecshop官网的代码:
a、修改文件:admin/shop_configphp
在243行,查找:$spt = ''/script';
在之后添加一行:
$spt = '';
b、修改文件:admin/templates/indexhtm
在25行,删除以下代码:
frameset rows='0, 0' framespacing='0' border='0'
frame src=http://apiecshopcom/recordphpmod=loginurl={$shop_url}
id='hidd-frame' name='hidd-frame' frameborder='no' scrolling='no'
/frameset
c、在MYSQL数据库的数据表:
shop_config中查找字段code值为 certi 的记录,其值为:http://serviceshopexcn/openapi/apiphp,
修改为一个错误的网址!
如:http://xxxxxxxxxx/openapi/apiphp
d、修改文件:admin/templates/tophtm
在110行,注释掉以下代码:
Ajaxcall('indexphpis_ajax=1act=license','', start_sendmail_Response, 'GET', 'JSON');
e、修改文件:admin/templates/menuhtm
在143行,注释掉以下代码:script language='JavaScript' src='http://apiecshopcom/ menu_extphpcharset={$charset}
lang={$help_lang}'/script
f、修改文件:admin/templates/starthtm
在9行,删除掉以下代码:
ul style='padding:0; margin: 0; list-style-type:none; color: #CC0000;'
!--script type='text/javascript' src='http://bbsecshopcom/noticephpv=1n=8f=ul'/script--
/ul
g、修改文件:admin/indexphp
在518行,注释掉以下代码::
$t = new transport;
$api_comment = $t-request('http://apiecshopcom/checkverphp', $apiget);
$api_str = $api_comment['body'];
echo $api_str;
h、删除后台所有默认的友情链接
4)添加支付方式:
a、银联在线支付:所需程序文件/include/modules/payment/chinapayphp和chinapay/目录下的下图文件
和语言包/languages/zh_cn/payment/chinapayphp
将文件按照以上结构放好之后,进入网站后台的“系统设置--支付方式”,选择中国银联进行安装,按要求配置好账号、路径、手续费等,确定即可使用。
b、支付宝支付方式:所需程序文件程序文件/includes/modules/payment/alipayphp
和语言包 /languages/zh_cn/payment/alipayphp。
同样按照以上结构配置好了之后,然后进入网站后台的“系统设置—支付方式”,选择支付宝进行安装,按要求配置好账户、校验码、ID、手续费等,确认即可使用。
c、财付通支付方式:所需程序文件/includes/modules/payment/tenpayphp
和语言包 /languages/zh_cn/payment/tenpayphp,将文件按照以上结构放好之后,进入网站后台的“系统设置—支付方式”,选择财付通进行安装,选择财付通的“即时到帐”服务进行安装,按要求配置好商户号、密钥、手续费等,确定即可使用。
5)打印快递单—编辑打印快递单中添加自定义信息:
修改文件:admin/orderphp
现在主要添加联邦快递的账号,在该文件的478行里添加:
$lable_box['t_fedex_number'] = '191599268'; //联邦快递账号,当然你也可以自行添加其他快递号
修改文件:languages/zh_cn/admin/shippingphp
在该文件的61行里添加:
$_LANG['lable_box']['fedex_number'] = '联邦快递账号';
《饥荒》怎么搭建服务器很多玩家想和朋友一起联机玩饥荒,但是又不想外人来,这就需要自己搭建服务器了,很多玩家不知道如何搭建服务器,下面小编就为大家带来饥荒搭建服务器图文教程,希望对各位玩家有所帮助。
配置需求
·Steam账号内必须拥有Don't Starve Together,拥有DST即可建立多个独立服务器(Dedicated Server)。
·独立服务器没有使用DST游戏内建立服务器的路由穿透技术,服务器必须为游戏客户端开放一个合适的端口,服务器默认通信方式:UDP协议,端口号:10999。
建立一个稳定的独立服务器必须确保系统满足以下要求:
1网络上传速度:8KB/玩家/秒。如果按照独立服务器最大人数为6人来换算,网络上传速度必须达到50KB/秒或以上才能让6个玩家同时进行游戏,当然网络上传带宽越大越好,较差的网络通信会导致连接独立服务器的玩家动作卡顿以及卡屏。
2内存:大约65MB/玩家。如果按照独立服务器最大人数为6人来换算,可用内存大小必须达到500MB或以上才能让6个玩家同时进行游戏。
3CPU:官方网站没有明确说明。
4游戏运行库:VCRedist_2008(x86),DST游戏根目录文件夹内有,对着DST右键-属性-本地文件-浏览本地文件
建服准备工作
获取令牌
如果要建立一个向公众开放的独立服务器,则必须要获得服务器令牌,这样做的目的是能够让开发者关停违反了服务条款的服务器。
根据以下步骤获得令牌:
注意:所有符号及标点全部使用半角模式输入。
1运行Don't Starve Together。
2点击Play !。
3按~(数字键1左边的按键)开启控制台输入指令,再按一次关闭控制台,若还有控制台文字信息显示在屏幕上按CTRL+L关闭。
4如下图在控制台内输入指令:TheNet:GenerateServerToken()
5如下图在DocumentsKleiDoNotStarveTogether下已经生成了server_tokentxt文件。
修改配置文件
配置文件路径
如下图settingsini位于C:Users你的用户名DocumentsKleiDoNotStarveTogether路径下。
注意:因为DST不支持Unicode,以下内容请全部使用英文。
若以下内容settingsini内没有可自行加上,也可不加,服务器出现任何问题后果自负。
[network]网络配置
1default_server_name = 这里填服务器名。
2default_server_description = 描述一下你的服务器(可不填)。
3server_port = 10999,服务器通信端口,最好不要改动,对端口映射及网络类型熟悉的人员可自行更改。
4server_password = 这里填服务器密码,如果要对公众开放则不填,如果想和妹纸或基友单独干羞羞的事自行填写密码。
5max_players =[1-64]最大玩家数1到64,根据计算机性能和网络负载能力填写,默认6。
6pvp = true [ true | false ]是否开启PVP(玩家可以互相攻击)。
7game_mode = [ endless,survival,wilderness ]游戏模式三个里面选一个填。
8override_dns = [填写DNS服务器]覆盖DNS设置,如果log in很慢的情况下,可以改成8888,8888。
9enable_vote_kick = [ true | false ]是否允许投票踢人,默认true。
10enable_snapshots = [ true | false ]是否允许服务器回退到一个之前的状态(等同于回档,可用来防止烧家的熊孩子),开发者称这项功能在一些服务器上会导致问题的发生,默认false。
11enable_autosaver = [ true | false ]是否开启自动保存功能,默认开启,新的一天开始服务器会自动保存。
12tick_rate = [ 10 | 15 | 30 | 60 ]类似于FPS,这个值越高客户端动作越流畅,这取决于服务器的网络带宽和CPU,默认30。
13connection_timeout = [填写毫秒数,1秒=1000毫秒],中断与没有响应的客户端的等待时间,默认8000。
14server_save_slot = [1-5]服务器加载哪一个存档,默认1。
15pause_when_empty = [ true | false ]服务器空闲时是否自动暂停,当有玩家进入时继续,最好用于有密码的私人服务器,默认false。
[account]账号配置
· dedicated_lan_server = false [ true | false ]是否只允许局域网游戏,默认关闭。
端口映射
注意:服务器开启无法正常运行(游戏右边列表没有自己的服务器,其他玩家无法加入自己的服务器)再尝试以下步骤:
确定网络类型
· ADSL拨号上网
1有路由器(市面上路由器种类太多,不单独作某一型号路由器说明,方法大同小异。):进入路由器设置页面,找到端口映射功能,添加需要映射的端口:协议选UDP,端口号填10999。
2无路由器:打开控制面板-系统和安全-windows防火墙-高级设置-入站规则右键新建规则-勾选端口-勾选UDP,特定本地端口:填10999。
· FTTH光纤入户
1无超级管理员密码
根据光猫型号自行百度方法破解(请自行斟酌!破解失败导致的各种问题与作者无关),得到超级管理员密码后请看下文。
2有超级管理员密码
1光猫有端口映射功能:在光猫内设置端口映射,方法上文已经提及,自行查阅。
2光猫没有端口映射功能:此方法适合有一定技术水平及动手能力的人员(操作不当可能导致网络中断及家庭固话无法拨打和接通),将光猫更改为桥接模式,使用路由器拨号上网,在路由器内设置端口映射,方法上文已经提及,自行查阅。
从开发平台到服务器的向上适化
适化概述
所谓适化就是将桌面应用转化为Client/Server应用
适化是一个很复杂的主题 这里不详细讲述 本节将介绍适化Delphi 应用程序中最重要的方面
适化的主要方面有
● 将数据库从桌面平台到服务器的适化
● 将应用程序转化为Client/Server的适化
适化还需要实现从桌面环境到Client/Server环境的转化
桌面数据库和SQL服务器数据库在许多方面有不同之处 例如
● 桌面数据库用于同一时刻单用户的访问 而服务器用于多用户访问
● 桌面数据库是面向记录的 而服务器是面向集合的
● 桌面数据库将每个表存储在独立的文件中 而服务器将所有的表存储在数据库中Client/Server应用必须解决更新的问题 最复杂的是联接 网络和事务控制
适化数据库
适化数据库包含下列步骤
● 在桌面数据库结构的基础上 定义服务器上的元数据
● 将数据从桌面转化到服务器中
● 解决下列问题
● 数据类型差异
● 数据安全性和完整性
● 事务控制
● 数据访问权
● 数据合法性
● 锁定
Delphi提供了两种方法适化一个数据库
● 使用Database Desktop工具 选择菜单Tools/Utilities/Copy to命令将数据库表从桌面方式拷贝到SQL格式
● 建立应用TBatchMove部件的应用程序
这两种方法都可以将表结构和数据从桌面数据源转化到服务器上 依靠这些数据库 可能需要改变结果表 例如 可能想进行不同数据类型的映射
也可以将下列特征加入数据库
● 完整性约束
● 索引
● 检测约束
● 存储过程和触发器
● 其它服务器特征
如果用SQL脚本和服务器数据定义工具定义元数据会更有效 然后用前面介绍的两种方法转移数据 因为如果是手工定义数据库表 Database Desktop和TBatchMove 部件将只拷贝数据
适化应用程序
在理论上 设计用来访问局部数据的Delphi应用程序做很少的修改就可以访问远程服务器上的数据 如果在服务器上定义适合的数据源 你就能将应用程序指向访问它 这只需简单地改变应用程序中TTable或TQuery部件的DatabaseName属性
实际上 在访问局部和过程数据源之间有许多重要的不同之处 Client/Server应用程序必须解决大量的在桌面应用中所没有的问题
任何Delphi应用程序都能用TTable或TQuery部件访问数据 桌面应用程序通常都是使用TTable部件 当适化到SQL服务器上时 用TQuery会更有效 如果应用程序要检索大量记录 则TQuery部件要略胜一筹
如果应用程序使用统计或数学函数 那么在服务器上通过存储过程执行这些函数会更有效 因为存储过程执行更快 使用存储过程还可以减少网络负载 特别是大量行数据的函数
例如 计算大量记录的标准差
● 如果该函数在客户端执行 所有的值从服务器上检索出来并送到客户端 导致网络拥塞
● 如果该函数在服务器端执行 则应用程序只需要服务器上的答案
Delphi客户/服务器应用实例分析
本节中采用的实例是Delphi 数据库的例子CSDEMO CSDEMO是Delphi客户/服务器编程的示例程序 它采用的数据库服务器是Local InterBase Server
CSDEMO较好地示范了BDE环境的配置 InterBASE Server高级功能应用 SQL服务器联接 触发器应用 存储过程编程和事务控制技术等 具有较高的参考价值 本节讲述下列内容
● 数据库环境介绍
● TDatabase的应用
● 不同数据库表的切换
● 触发器编程
● 存储过程编程
● 事务控制应用
数据库环境介绍
本例中采用的数据库服务器是Local InterBase Server Local InterBase是InterBase Server的单用户版 位 兼容ANSI SQL Local InterBase支持客户/服务器应用在单机上的开发和测试 并且可以很容易地适化到InterBase Server上 因此 开发客户/服务器应用采用Local InterBase作为原型开发环境是很方便的
IBLOCAL的BDE参数
本例中的SQL数据库是IBLOCAL 它是由BDE配置工具(BDECFG EXE)设置参数值 它的各项参数值列于下表
表 IBLOCAL的各项参数值
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
参 数 名 参 数 值
────────────────────────────────────
TYPE INTRBASE
PATH
SERVER NAME C:\INTRBASE\EXAMPLES\EMPLOYEE GDB
USER NAME SYSDBA
OPEN MODE READ/WRITE
SCHEMA CACHE SIZE
LANGDRIVER
SQLQRYMODE
SQLPASSTHRU MODE SHARED AUTOMIT
SCHEMA CHCHE TIME
MAX ROWS
BATCH COUNT
ENABLE SCHEMA CACHE FALSE
SCHEMA CACHE DIR
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
数据库结构介绍
IBLOCAL数据库的结构都是由InterBase服务器工具交互式SQL工具(ISQL)定义的
用ISQL定义数据库 首先要用Create Database命令建立数据库 建立的新数据库一般是以GDB为扩展名 建立好后 就可以用SQL语言定义数据库表 例如建立EMPLOYEE表的SQL语句如下
定义域名数据类型
CREATE DOMAIN FIRSTNAME AS VARCHAR( )
CREATE DOMAIN LASTNAME AS VARCHAR( )
CREATE DOMAIN COUNTRYNAME AS VARCHAR( )
CREATE DOMAIN EMPNO AS SMALLINT;
CREATE DOMAIN DEPTNO AS CHAR( )
CHECK (VALUE = OR (VALUE > AND VALUE <= ) OR VALUE IS NULL)
CREATE DOMAIN JOBCODE AS VARCHAR( )
CHECK (VALUE > )
CREATE DOMAIN JOBGRADE AS SMALLINT
CHECK (VALUE BEEEN AND )
CREATE DOMAIN SALARY AS NUMERIC( )
DEFAULT
CHECK (VALUE > )
建立EMPLOYEE表
lishixinzhi/Article/program/Delphi/201311/25125
0条评论