正确地定制您的网站 - 文件替代机制

Zen Cart说明文件,安装指南和使用手册等等。可以回复,不能发新贴。

版主: Jack

版面规则
新手必读栏目。本版面不能发新贴,可以回复

正确地定制您的网站 - 文件替代机制

帖子Jack » 2005-07-25 21:14

本文翻译自NetworkDad的文章“Properly customizing Your Site”,适当修改。
原文地址: http://www.zen-cart.com/forum/showthread.php?t=7263
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

很多用户对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中。

在该文件中,要有以下代码:

代码: 全选
<?php
// 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中。

在该文件中,要有以下代码:

代码: 全选
<?php
// 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代码,例如:

代码: 全选
<script language="javascript" ##type="text/javascript"><!--
whatever the heck bizrate gave you
//--></script>



同样地..如果你使用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,然后很容易将新的修改加入到你的替代文件中。
Zen Cart - 让每个人拥有自己生意的梦想成真
加入Zen Cart地图 | 恕不回复站内短信提问 | QQ: 3171061
头像
Jack
论坛版主
论坛版主
 
帖子: 12265
注册: 2004-12-16 10:04

Re: 正确地定制您的网站 - 文件替代机制

帖子Tbreeze » 2005-11-19 10:16

zen cart的文件替代机制真是强啊
Tbreeze
中级会员
中级会员
 
帖子: 95
注册: 2005-11-14 13:59
地址: 杭州

Re: 正确地定制您的网站 - 文件替代机制

帖子AmirFish » 2005-12-06 18:32

是不是每一个系统文件都可以被替代?
AmirFish
普通会员
普通会员
 
帖子: 25
注册: 2005-11-23 2:52

Re: 正确地定制您的网站 - 文件替代机制

帖子Jack » 2005-12-06 20:38

只有文中提到的文件可以被替代。通常可以替代的文件目录下,有一个zccn的子目录。
Zen Cart - 让每个人拥有自己生意的梦想成真
加入Zen Cart地图 | 恕不回复站内短信提问 | QQ: 3171061
头像
Jack
论坛版主
论坛版主
 
帖子: 12265
注册: 2004-12-16 10:04

Re: 正确地定制您的网站 - 文件替代机制

帖子sim338 » 2006-09-05 14:59

Jack 写道:
修改缺省语言文件 - /includes/languages/schinese.php

例子: 你想修改标题,将“Zen Cart!”, 改为“你的商店名称!”

在目录/includes/languages下,建立一个与你的模板同名的目录,例如/includes/languages/custom.

将schinese.php文件复制到该目录。

接着,你就可以修改文件/includes/languages/custom/schinese.php:

define('TITLE', 'Zen Cart!');

改为:

define('TITLE', '你的商店名称!');


修改schinese.php时,看到给备注了
// FOLLOWING WERE moved to meta_tags.php
//define('TITLE', 'Zen Cart!');
//define('SITE_TAGLINE', 'The Art of E-commerce');
//define('CUSTOM_KEYWORDS', 'ecommerce, open source, shop, online shopping');
// END: moved to meta_tags.php

但是,meta_tags.php复制到custom后修改了也没有效果,是不是这个文件不能被替代?
sim338
新手上路
新手上路
 
帖子: 12
注册: 2006-06-02 20:21

Re: 正确地定制您的网站 - 文件替代机制

帖子Jack » 2006-09-05 19:48

meta_tags.php文件可以替代,需要复制到
/includes/languages/schinese/Your_Template/ 目录下
Zen Cart - 让每个人拥有自己生意的梦想成真
加入Zen Cart地图 | 恕不回复站内短信提问 | QQ: 3171061
头像
Jack
论坛版主
论坛版主
 
帖子: 12265
注册: 2004-12-16 10:04

Re: 正确地定制您的网站 - 文件替代机制

帖子kaixinzc » 2008-07-30 17:37

原来老大已经翻译了,我前些天看的还是英文的。
头像
kaixinzc
中级会员
中级会员
 
帖子: 71
注册: 2008-06-11 5:17

Re: 正确地定制您的网站 - 文件替代机制

帖子RCTech » 2008-08-24 6:45

关于左上角那帖“膏药”,我在这里也替换掉了,如下:

// FOLLOWING WERE moved to meta_tags.php
//define('TITLE', 'R/Channel!');
//define('SITE_TAGLINE', '24频道品位生活');
//define('CUSTOM_KEYWORDS', 'rc channel, 24频道, 在线购物, online shopping');
// END: moved to meta_tags.php

也是没效果!
这年头俺也学会了俩字:俺信
http://www.rctech4u.com
RCTech
中级会员
中级会员
 
帖子: 61
注册: 2008-07-22 7:50

Re: 正确地定制您的网站 - 文件替代机制

帖子ec737 » 2008-10-22 21:46

终于用cart做了自己的英文站。
http://www.ec737.com
电子,电脑,数码,监控产品外贸。
ec737
新手上路
新手上路
 
帖子: 8
注册: 2008-10-22 21:39
地址: http://www.ec737.com

Re: 正确地定制您的网站 - 文件替代机制

帖子TomYang » 2009-02-14 10:48

学习了 看来还是要慢慢来啊 不能冲动……
TomYang
 
帖子: 4
注册: 2009-02-11 10:06

下一页

  • 相关话题
    回复总数
    阅读次数
    最新文章

回到 新手上路



在线用户

正在浏览此版面的用户:没有注册用户 和 0 位游客