zencart文件路径
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文件路径 注释
index.php 主文件
includes/templates/[custom template folder]/common/html_header.php 页面的head部分
includes/templates/[custom template folder]/common/tpl_main_page.php 页面的body部分
includes/templates/[custom template folder]/common/tpl_header.php 所有页面的页眉
(column left)
includes/templates/[custom template folder]/common/main_template_vars.php 决定页面的内容部分,缺省为 'tmp_index_default.php'
首页 - 缺省
includes/templates/[custom template folder]/templates/tmp_index_default.php 首页模板文件
首页 - 显示分类
includes/templates/[custom template folder]/templates/tpl_index_categories.php 首页上显示分类时的模板文件
includes/modules/[custom template folder]/pages/index/category_row.php 选择要显示的分类
includes/templates/[custom template folder]/templates/tpl_index_category_row.php 显示分类
首页 - 显示指定分类
includes/templates/[custom template folder]/templates/tpl_index_product_list.php 首页上显示指定的分类时采用的模板文件
includes/modules/[custom template folder]/product_listing.php 将商品数据添加到数组
includes/templates/[custom template folder]/templates/tpl_modules_product_listing.php 显示商品数量和商品导航菜单
includes/templates/[custom template folder]/common/tpl_list_box_content.php 显示商品数组
商品信息页面
includes/templates/[custom template folder]/templates/tpl_product_info_display.php 显示单件商品信息
购物车页面
includes/templates/[custom template folder]/templates/tpl_shopping_cart_default.php 购物车页面
(column right)
includes/templates/[custom template folder]/common/tpl_footer.php 所有页面的页脚
ZenCart是免费的购物车软件 - 用于建立自己的网上商店,为网上销售商而设计。ZenCart是一个免费、界面友好,开放式源码的购物车软件。ZenCart的后台功能非常强大,基本不用改代码,就可以完成整个商城的搭建。下面简单介绍下ZenCart安装好后如何设置?
后台设置部分
一、商店设置
1、基础设置:
修改(商店名称) 根据自己店铺设置
2、客户资料
修改(创建帐号时的缺省国家) 为主销售国家
修改(显示电子商情选择框) 为0
3、配送参数
修改(始发国家或地区) 为自己店铺始发地,默认中国
修改(邮编) 为自己店铺始发地邮编,似乎没什么用
修改(最大包裹重量) 为10000,表示店铺最大单包裹上限10公斤
修改(大包裹包装材料) 为10:1,表示包裹总重量的每10%增加1克作为包装重量
修改(在发票管理中显示订单说明) 为2
修改(在装箱单管理中显示订单说明) 为2
4、电子邮件
修改(SMTP帐号邮箱) 为管理员邮箱帐号 -或另设置,但不推荐
修改(SMTP帐号密码) 为管理员邮箱密码 -或另设置,但不推荐
修改(SMTP主机) 为管理员邮箱SMTP主机 -Gmail=smtp.gmail.
com,其他信箱根据信箱要求设置
修改(SMTP服务器端口) 为邮件SMTP主机端口 -Gmail=465
5、属性设置
修改(允许下载) 为false
6、布局设置
修改(分类栏 - 显示特价商品链接) 为false -本处为自由设置,请根据个人情况而定
修改(分类栏 - 显示新进商品链接) 为false -本处为自由设置,请根据个人情况而定
修改(分类栏 - 显示推荐商品链接) 为false -本处为自由设置,请根据个人情况而定
修改(广告显示组 - 标题位置 1) 为空
修改(广告显示组 - 标题位置 3) 为空
修改(顾客欢迎词 - 显示在首页) 为1
7、新进商品
修改(显示商品名称) 为2105
修改(显示商品加入日期) 为0
8、推荐商品
修改(显示商品名称) 为2105
修改(显示商品加入日期) 为0
9、所有商品
修改(显示商品名称) 为2105
修改(显示商品加入日期) 为0
10、定义页面
修改(定义优惠券说明) 为3
修改(定义页面二) 为3
修改(定义页面三) 为3
修改(定义页面四) 为3
二、商品管理
1、商品类型
修改(商品 - 普通)
-选择编辑布局->显示厂商 修改为False
-选择编辑布局->显示上市日期 修改为False
-选择编辑布局->显示加入日期 修改为False
三、模块管理
1、支付模块
修改(信用卡 - 脱机处理) 选择卸载
修改(免费商品) 选择卸载
修改(PayPal IPN - Website Payments Standard) 选择安装
-商业编号 =输入Paypal主EMAIL
-PDT Token =输入Paypal内分配PDT Token
-交易货币 =默认,不选择
-其他均为默认,然后确认安装
2、配送模块
修改(固定运费) 选择卸载
修改(免运费) 选择卸载
修改(按件计价) 选择卸载
修改(商店提货) 选择卸载
修改(标准运费) 选择安装
-如果使用邮政小包,请输入以下内容,其他选项默认
(说明:本处运费描述方式为,参考下方EMS运费范例)
100:2.2,200:3.7,300:5.2,400:6.7,500:8.2,600:9.7,700:11.2,800:12.7,900:14.2,1000:15.7
修改(地区运费) 选择安装
-此处为EMS选择,以下为EMS 3.6折运费,如使用UPS或DHL,请另计算以及说明
范例 : 500 : 13.5 ,
单位:克 对应运费符号 运费价格 下一级运费分割符
以上为范例描述,请严格按照以下方式书写
地区1
US,CA
500:13.5,1000:17.5,1500:21.5,2000:25.5,2500:29.5,3000:33.5,3500:37.5,4000:41.5
地区2
BE,GB,FR,DK,FI,GR,AT,IE,NO,PT,DE,SE
500:15.3,1000:19.8,1500:24.3,2000:28.8,2500:33.3,3000:37.8,3500:42.3,4000:46.8
地区3
AU,NZ
500:11.5,1000:14.5,1500:17.5,2000:20.5,2500:23.5,3000:26.5,3500:29.5,4000:32.5
3、总额计算
修改(团体优惠) 选择卸载
修改(礼券) 选择卸载
修改(低额订单费) 选择卸载
修改(税额) 选择卸载
四、界面设定
1、货币代码
修改(人民币) 选择卸载
修改(Canadian Dollar) 选择卸载
点击更新货币
到以下地址检查货币汇率
-/pages/jsp/
fm/third/bank/bankmain.jsp
修改对应货币汇率,自动更新相对不够准确,货币价值兑换有点吃亏,本处可将PAYPAL的2.5%兑换费用增加进去
五、工具/TOOLS
1、模板选择
根据自己需要使用模板修改,本处请注意,中文与英文模板均需要修改,否则会造成错误
2、外观控制/Layout Boxes Controller
请尽量对应选择,选择语言为简体中文时,此处修改的为中文模板,选择语言为英文时,此处修改的为英文模板
文件名——————————模块名——————功能—————————目前所显示的位置
sideboxes/search.php—————-搜索(带高级搜索)——–对产品进行搜索—————–左边
sideboxes/search_header.php———搜索(简单的搜索)——–对产品进行搜索—————–左边
sideboxes/shopping_cart.php———购物车——————显示所订购的商品—————左边
sideboxes/categories.php————分类——————–按产品的类别分类—————左边
sideboxes/manufactures.php———-品牌——————–显示所有产品的品牌————-左边
sideboxes/payment.php—————支付——————–付款(logo形式出现)————-左边
sideboxes/document_categories.php—文档类商品————–通常指可以下载的商品类型——-左边
sideboxes/order_history.php———订单历史—————-以往订单的历史记录————-左边
sideboxes/reviews.php—————评论——————–买家对所买商品的评价———–左边
sideboxes/featured.php————–推荐商品—————-随机显示推荐商品,在后台设—–左边
sideboxes/banner_box.php————赞助商——————显示赞助商家——————-左边
sideboxes/login_box.php————-登录——————–显示费员的登录入口————-右边
sideboxes/information.php———–消息——————–显示商家的最新消息————-右边
sideboxes/more_information.php——更多消息—————-展示更多的消息—————–右边
sideboxes/whos_online.php———–在线名单—————-显示有多少人在线—————右边
sideboxes/what_new.php————–新登商品—————-显示新登产品(随机)————-右边
sideboxes/music_genres.php———-音乐流派—————-显示音乐的流派—————–右边
sideboxes/record_companies.php——唱片公司—————-显示唱片公司——————-右边
sideboxes/weblink_box.php———–友情连接—————-以logo的形式显示连接———–右边
sideboxes/best_sellers.php———-畅销商品—————-随机显示畅销商品—————右边
sideboxes/manufacture_info.php——厂家消息—————-显示具体产品时在右边显示出来—右边
sideboxes/specials.php————–特价商品—————-随机显示特价商品,在后台设置—右边
sideboxes/product_notifications.php-商品通知—————-买家知道新的产品可以通知卖家—右边
sideboxes/tell_a_friend.php———推荐给朋友————–如果感觉商品很好可以推荐给朋友-右边
sideboxes/languages.php————-语言——————–以何种语言显示—————–右边
sideboxes/currencies.php————货币——————–以何货币付款——————-右边
sideboxes/banner_box2.php———–不明——————–做相应的logo连接—————右边
一般情况下 可以关闭以下模块
sideboxes/manufactures.php
sideboxes/document_categories.php
sideboxes/banner_box.php
sideboxes/more_information.php
sideboxes/what_new.php
sideboxes/music_genres.php
sideboxes/record_companies.php
sideboxes/weblink_box.php(没有就不用理了)
sideboxes/manufacture_info.php
sideboxes/product_notifications.php
其他模块根据自己情况去调整
3、广告管理
修改所有广告项目的状态为关闭(绿色状态按钮点成红色)
4、管理设置
此处可增加管理员名单,以及修改管理员密码等,可增设管理名单,以方便工人登陆上货
5、简易页面管理/EZ-Pages
本处也需要同时修改中英文,或者仅修改英文也可
修改(Home) 选择编辑-页眉排序: 5
选择Header开启
修改(Register) 选择编辑-页眉排序: 10
修改(News) 选择Header关闭
修改(Site Map) 选择Header开启
选择编辑-页眉排序: 90
6、图像管理
选择安装图象管理
OK,到此,基本上,一个一般可以运行的网站已经在后台调整完毕,但还有一些需要微调的东西如下
1、修改Paypal.pap模块,否则收到的钱都是未提供地址的,方法如下
2、将网站根目录的htaccess_sample修改为” .htaccess “,并用记事本打开此文件,修改其中的 /shop/ 为您的zen cart目录。
如果Zen Cart安装在网页服务器的根目录下,就设置为 /
3、商店设置->搜索引擎优化,选择打开
4、安装GOOGLE SITMAPS,并且根据说明制作SITMAP XML文件,上传到GOOGLE去,当然,YAHOO,MSN的也可以在这时一起做了
5、安装RSS,建议可以同时把两个RSS模块都安装上
6、修改在结帐时购物车显示的运费名称,修改如下
这个是标准运费的语言文件 -\includes\languages\english\modules\shipping\table.php
这个是地区运费的语言文件 -\includes\languages\english\modules\shipping\zones.php
7、如果购买的空间是GODADDY的,并且买了GODADDY的SSL,推荐再装一个GODADDY的SSL显示插件
zencart 目录说明
admin后台管理目录
cache 缓存目录
docs 文档目录
download 用于存放下载类商品
editors 所见即所得编辑器
email 电子邮件模版目录
extras 测试文件目录
images 商品图片目录
in
cludes 前台
media 媒体类商品目录
pub 公用目录(空)
includes里面的目录:
auto_loaders 自动加载的脚本
classes 主要的类函数
extra_cart_actions 空
extra_configures 第三方模块设置文件
extra_datafiles 第三方模块数据表名定义
functions 主要的功能函数
index_filters 过滤功能
init_includes 初始化功能
languages 语言文件包目录
modules 所有的模块目录
templates 模版目录
ZenCart采用摸板,单一文件index.php入口,后面跟参数,参数决定显示的内容,基本上网页变换的部分只是中间的主区域。
admin 后台管理目录
cache 缓存目录
docs 文档目录
download 用于存放下载类商品
editors 所见即所得编辑器
email 电子邮件模版目录
extras 测试文件目录
images 商品图片目录
includes 前台
media 媒体类商品目录
pub 公用目录(空)
includes里面的目录:
auto_loaders 自动加载的脚本
classes 主要的类函数
extra_cart_actions 空
extra_configures 第三方模块设置文件
extra_datafiles 第三方模块数据表名定义
functions 主要的功能函数
index_filters 过滤功能
init_includes 初始化功能
languages 语言文件包目录
modules 所有的模块目录
templates 模版目录
重点介绍几个文件
includes目录,该目录无疑是zencart的核心(前台),
通常情况下index.php第一句话则是包含include目录下的application_top.php文件,如:require(’includes/application_top.php’);
在该系统中application_top.php负责的是初始化工作,比如加载配置文件include(’includes/configure.php’);,如果系统程序没检测到该文件的存在则会尝试调用安装文件,然后它会自动遍历include/extra_configures下的配置文件并包含进来,在加载了系统配置文件以后接下来是一个非常重要的文件,这也导致了zencart和oscommerce感觉上很大不同的原因(事实上都一回事),首先调用一个文件require(’includes/initsystem.php’); 在 initsystem.php中最先加载include/auto_loaders/config.core.php,config.core.php是 一个二围数组$autoLoadConfig,即以数组的形式保存文件的信息供后面文件调用,然后系统会接着加载完 include/auto_loaders目录下所有文件名匹配$loaderPrefix(默认为config)的文件。
上面程序执行完以后就可以加载自动执行程序了require(’includes/autoload_func.php’);在这里它会遍历$autoLoadConfig数组,它最终执行的效果会包含所有必须用到的函数或者类的定义,还有变量的初始化,config.core.php里面的注释比较清楚比如
$autoLoadConfig[0][] = array(’autoType’=>’class’,'loadFile’=>’class.base.php’);
在autoload_func.php里面执行完以后的效果就是require(DIR_WS_CLASSES . ‘class.base.php’),事实上本人是不赞成这种写法,大部分的初始化化工作是通过包含in
it_includes目录下的文件来实现的,如:
$autoLoadConfig[110][] = array(’autoType’=>’init_script’,'loadFile’=> ‘init_templates.php’);
它在执行完autoload_func.php文件后就已经加载了init_includes目录下的init_templates.php文件,由于里面包含的文件太多,在这就不做一一介绍了下面我来介绍下ZenCart是怎么根据摸版把内容显示出来的require(’includes/application_top.php’);初始化所以需要用到的公共信息以后接下来就应该是显示了,在index.php的第29行有句
$directory_array = $template->get_template_part($code_page_directory, ‘/^header_php/’);
由于所有初始化工作已经完成,所有我们就可以在上面的文件找到他们的定义,如
$autoLoadConfig[100][] = array(’autoType’=>’classInstantiate’,'className’=>’template_func’,'objectName’=>’template’);
在这里就定义了$template = new template_func(); ,然后$code_page_directory变量的定义是在init_includes/init_sanitize.php文件中定义在这里必须要 对class/template_func.php中定义的template_func类比较熟悉,在改类中主要定义了两个方法 get_template_dir()和get_template_part();这两个方法在zencart的摸版中起到了决定行的作用
我简单的说下get_template_dir方法function get_template_dir($template_code, $current_template, $current_page, $template_dir, $debug=false),它定义了5个参数,第一个参数一般是个文件名,它是用来判断后两个参数组成的目录中有没有匹配$template_code 的这个文件,该类复写了默认的系统函数file_exists所以很多初学者可能会比较迷惑
function get_template_dir($template_code, $current_template, $current_page, $template_dir, $debug=false) {
//echo ‘template_default/’ . $template_dir . ‘=’ . $template_code;
if($this->file_exists($current_template . $current_page, $template_code)){
return $current_template . $current_page . ‘/’;
}elseif ($this->file_exists(DIR_WS_TEMPLATES . ‘template_default/’ . $current_page, ereg_replace(’/', ”, $template_code), $debug)){
return DIR_WS_TEMPLATES . ‘template_default/’ . $current_page;
} elseif ($this->file_exists($current_template . $template_dir, ereg_replace(’/', ”, $template_code), $debug)){
return $current_template . $template_dir;
} else {
return DIR_WS_TEMPLATES . ‘template_default/’ . $template_dir;
//return $current_template . $template_dir;
}
}
/*
如
includes/templates/zccn/index
includes/templates/template_default/index
includes/templates/zccn/common
includes/templates/template_default/common
*/
get_template_part()方法有两个函数,第一个参数是文件目录,第二个参数是匹配的条件,执行的结果是包含该目录下所有文件名匹配这个条件的文件
比如$directory_array = $template->get_template_part($code_page_directory, ‘/^header_php/’);
这句话执行的结果就是返回目录下$code_pa
ge_directory所有文件名以header_php开头的文件
如此时的url(http://localhost/zencart/index.php?main_page=product_info&cPath=49_27&products_id=83)
你现在应该查看init_sanitize.php中$code_page_directory的定义此时的$code_page_directory的值应该是includes/modules/product_info/
所以它就应该包含该目录下所有以header_php开头的文件,在这里好象就只有一个header_php.php
$directory_array = $template->get_template_part($code_page_directory, ‘/^header_php/’);这个包含文件其实是初始化前台不同页面显示所需要用到的变量函数,主要是初始化数据库的东西,因为每个页面需要的数据 资料都有可能不同,所以index.php?main_page=index 当main_page的值不同是在includes/modules/目录下都会有个对应的目录,这里是index目录
只要知道了这两个方法的用法,你就会知道模板文件都是怎么显示出来的了
再来解释一 require($template->get_template_dir(’html_header.php’,DIR_WS_TEMPLATE, $current_page_base,’common’). ‘/html_header.php’);
假设当前url:http://localhost/zencart/index.php?main_page=index&cPath=48
DIR_WS_TEMPLATE 定义是在includes/init_templates.php中定义define(’DIR_WS_TEMPLATE’, DIR_WS_TEMPLATES . $template_dir . ‘/’);,因为我现在用的是默认的zccn模板
所以现在的DIR_WS_TEMPLATE=includes/templates/zccn/
$current_page_base在这里已经就是index
上面已经解释了$template->get_template_dir()的方法了
程序会依次在
includes/templates/zccn/index
includes/templates/template_default/index
includes/templates/zccn/common
includes/templates/template_default/common
这四个目录下找html_header.php,在这里,最终在template_default\common目录下找到html_header.php
到这里就可以自己写摸板文件了,因为$template->get_template_dir()是按顺序找的,所以你只要在你的模板文件中存在该文件即可
<--------------------------------------------------------------->
很多用户对zen cart做了自己的修改,非常好!但同时,一些用户修改了很多重要的文件,例如:
/includes/filenames.php
/includes/languages/schinese.php
/includes/languages/schinese/*.php
等等...
友情提示:如果你希望以后的升级更容易,不要修改这些文件!
Zen Cart的文件替代机制的功能非常强,你不需要修改上面的这些文件。
如果你修改了这些文件,下次升级的时候,Zen Cart会覆盖这些文件,你做的修改会丢失。
好了,如何避免这种情况呢?如何使用文件替代机制?
下面,我一步步说明如何使用文件替代机制,而不是去修改Zen Cart的核心文件!
下面的所有例子,都假设你:
1. 使用简体中文。其它语言相应修改就好。
2. 例子使用的模板名字是custom
"custom" 目录名可以是任何名字.... 只是在所有地方都要一致,这样文件
替代机制才能正常工作。
你可以命名为:
- mytemplate
- custom
- billg
- helluvacart
- zenrocks
- thisseemstoolongatemplatename
- supercalifragilisticexpialidocious
- tpl
还有很多 !!!!
附录及声明: 如果我漏了什么, 或者说错了,请告知,我会尽快修改! 不作任何担保。一个月后凭收据退款! :)
-- 注,请先阅读-如何添加/建立新的模板?
================================
修改缺省语言文件 - /includes/languages/schinese.php
例子: 你想修改标题,将“Zen Cart!”, 改为“我的商店名称!”
在目录/includes/languages下,建立一个与你的模板同名的目录,例如/includes/languages/custom.
将schinese.php文件复制到该目录。
接着,你就可以修改文件/includes/languages/custom/schinese.php:
define('TITLE', 'Zen Cart!');
改为:
define('TITLE', '我的商店名称!');
================================
修改语言文件 - /includes/languages/schinese/*.php (所有该目录下的文件)
例子: 你想修改account.php中的文字 - 比如你要将 '帐号' 改为 '档案'
建立一个与你的模板同名的目录。假设模板名是custom。那么目录就是:
/includes/languages/schinese/custom
将原来的文件/includes/languages/schinese/account.php复制到新目录:
/includes/languages/schinese/custom
接着, 修改该新的custom目录下的文件。这样,该修改会 '替代' 原来/includes/languages/schinese目录中的相应文件, 从而不会影响和修改核心文件。
================================
修改模板文件 - /includes/templates/template_default/templates/tpl_*_default.php
例如: 你想修改tpl_account_default.php文件中的一些HTML
在你的模板目录中( /includes/templates/custom ) 你应该已经有一个模板目录了 ( /includes/templates/custom/templates )。
将文件tpl_account_default.php复制到该目录中。然后你就可以自己修改了,它会自动 '替代' /includes/templates/template_default/templates目录中的相应文件。
你只要复制需要修改的文件到自己的模板目录,如果你未做修改,那么缺省情况下,商店会从template_default目录调用缺省文件。
================================
修改边框模板
这和修改通用模板是一样的(见上), 除了边框的路径是:
/includes/templates/custom/sideboxes
================================
修改边框 - /includes/modules/sideboxes/*.php
例子: 你想修改边框information.php文件,加上另外一个链接。
在边框文件的目录中(/includes/modules/sideboxes),建立另一个和模板custom同名的子目录,就是/includes/modules/sideboxes/custom
将文件information.php复制到该新目录中
接着你就可以修改新的information.php,它会替代/includes/modules/sideboxes目录中的缺省information.php文件
你可以核对该边
框是否被替代,登录管理页面 -> 工具 -> 外观控制。在栏目 '方框文件名' 下, 如果文件名显示为红色, 就说明它被替代了。
================================
调用自定义文件名 - /includes/filenames.php
例子: 你新建了一个页面about_us,需要调用该文件名。
不要在/includes/filenames.php文件中添加一个新的定义,你应该在已有的目录/includes/extra_datafiles中定义该文件名。
建立新文件about_us_filenames.php,然后放在目录/includes/extra_datafiles中。
在该文件中,要有以下代码:
代码: 全选
// About Us Filename Define
##define('FILENAME_ABOUT_US', 'about_us');
?>
该文件将自动被调用, 就象该目录中的其它文件一样, 因此系统知道你的定制文件。
尽量用同样的办法新建文件...例如, 调用文件blah,将它命名为blah_filenames.php
================================
调用自定义数据库表 - /includes/database_tables.php
例子: 你为自己的UPS跟踪系统建了个数据库ups_track,需要为代码定义数据表名。
不要在文件/includes/database_tables.php中定义, 你要在已有的目录/includes/extra_datafiles中定义数据表。
建立新文件ups_track_database_tables.php,置于目录/includes/extra_datafiles中。
在该文件中,要有以下代码:
代码: 全选
// UPS Tracking Table
##define('TABLE_UPS_TRACK', 'ups_track');
?>
该文件将自动被调用,就象该目录中的其它文件一样, 因此系统知道你的定制数据库。
================================
额外语言文件
例如: 你新建了一个Resource Center方框,需要一个额外文件来调用额外语言定义。
在目录/includes/languages/schinese/extra_definitions中, 你可以建立一个文件resource_center_box_defines.php。在该文件中,你可以放置新的方框的所有语言定义。
该文件将自动被调用, 保证你的自定义方框或页面的语言定义被调用。
================================
给已有文件增加额外Javascript
例子: 你想为你的Bizrate帐号调用一些javascript,这样,订单完成后,就会从已有页面调用checkout_success.php。
在目录/includes/modules/pages/checkout_success中,建一个新文件jscript_bizrate.js
在该文件中,放置Bizrate给你的javascript代码,例如:
代码: 全选
同样地..如果你使用Google的转换跟踪系统。建立另外一个文件,例如jscript_google.php
================================
添加和修改CSS文件
例子: 你为自己的网站新建了一个CSS类
不要添加到已有的CSS文件/includes/templates/custom/css/stylesheet.css中,要在同一目录下,另建一个文件stylesheet_YOURFILENAME.css,然后将你的
CSS数据加在这里。
================================
最后,谈谈升级!
现在,你正确使用Zen Cart的替代机制了!恭喜,你可以放心了。你不用担心升级文件会覆盖你的定制文件,因为所有的定制文件都保存在你自己的目录里!
好吧,你升级了Zen Cart。但如果你替代的文件有新的代码呢?所以你需要比较custom目录和新的核心文件。
例子:你修改了/includes/languages/custom/schinese.php文件, 升级后, /includes/languages/schinese.php文件中有些新的定义。显然你要把这些新的定义加入到你的schinese.php文件中。
最容易的方法就是使用文件比较工具!
推荐使用WinMerge, 也是开源免费。
有了文件比较工具,你就可以比较你的/includes/languages/custom/schinese.php文件, 和新的核心文件/includes/languages/schinese.php,然后很容易将新的修改加入到你的替代文件中。