你现在的位置:首页 > PHP网站建设知识库 > ZenCart > 正文

了解zencart的覆盖机制

zencart的“模板覆盖”和“覆盖系统”是用来描述需要建立或定制您的购物车的外观的文件集合的条款。使用覆盖可以让你不用担心在升级补丁时会更改您的购物车,并且还能保存升级完成后的版本。还可以看到:覆盖系统的简化。

覆盖系统包括:
    语言文件:includes/languages    

模块文件:includes/modules
    模板文件:includes/templates/template_default

 额外的定义:includes/languages/ENGLISH/extra_definitions 
    额外的数据文件:includes/extra_datafiles 

记住,已修改的文件应该被复制到/自定义目录。如果你不作出修改,则在默认情况下,Zen Cart将使用默认的文件。

语言文件
全球信息: /includes/languages/english.php
    假设你想改变你sidebox的分类标题。
    创建一个新的目录: /includes/languages/CUSTOM
    将english.php复制到这个新目录
    你现在有/includes/languages/CUSTOM/english.php
    在文本编辑器中打开文件,找到并修改下面的代码行
   
define('BOX_HEADING_CATEGORIES', 'Categories');;

    保存文件并上传你的新目录和内容到您的服务器。
页面的特定信息: /includes/languages/ENGLISH/*.php(这个目录内的所有文件)
    你需要在account.php修改一些文字 - 比方说,你想要改变每一个Account'为 'Profile':
    创建一个新的目录:/includes/languages/ENGLISH/CUSTOM
    将account.php复制到这个新目录
    你现在有 /includes/languages/ENGLISH/CUSTOM/account.php

 在文本编辑器打开文件,找到并修改下面的代码行
   
define('MY_ACCOUNT_TITLE', 'My Account');

 保存文件并上传你的新目录和内容到您的服务器。
模块文件
sideboxes信息:/includes/modules/sideboxes/*.php
    您需要修改sidebox information.php文件包含另一个链接。
    创建一个新的目录:/includes/modules/sideboxes/CUSTOM
    将information.php文件复制到这个新的文件夹
    你现在有/includes/modules/sideboxes/CUSTOM/information.php
    在文本编辑器打开文件,并修改它以满足您的需求
    保存文件并上传你的新目录和内容到您的服务器。

模板文件
页面模板:/includes/templates/template_default/templates/tpl_***.php
    你需要修改一部分tpl_account_default.php
    你应该已经有以下文件夹结构/includes/templates/CUSTOM/templates.
    将tpl_account_default.php复制到这个目录。
    在文本编辑器打开文件,并修改它以满足您的需求
    保存该文件,并把它上传到你的服务器。
sidebox模板:/includes/templates/sideboxes/tpl_***.php
按照上述步骤修改这些文件,除了修改sidebox的路径以外。

创建自己的定义
    为你定制你的购物车,你会发现,你还需要其他的额外定义。
    你可以通过使用文本编辑器来创建一个定义文件 - your_definition_file.php。
    所有您需要为您定制的定义将包括在这个文件中。
    保存的文件到

includes/languages/ENGLISH/extra_definitions/your_definition_file.php,

并把它上传到您的服务器

注:此目录中的文件被自动加载,以确保您的自定义可以在整个购物车中使用。

额外的数据文件
自定义文件名 - /includes/filenames.php
    你已经创建了一个自定义页面(about_us),需要引用文件名。
    创建一个新文件(about_us_filenames.php),其中将包括以下内容:
   
<?php
    // About Us Filename Define
    define('FILENAME_ABOUT_US', 'about_us');
    ?>

 将文件保存到/includes/extra_datafiles/about_us_filenames.php ,并把它上传到你的服务器。

注意:这些文件将被自动调用,包括在此目录中的任何其他文件,这样就可以告诉您的自定义文件名是什么系统了。

自定义数据库表
    您已经为了您的UPS跟踪系统创建了一个新的数据库字段, ups_track需要定义您的代码表的名称。
    创建一个新文件(ups_track_database_tables.php),其中将包括以下内容:
<?php
// UPS Tracking Table
define ('TABLE_UPS_TRACK', 'ups_track');
?>

将文件保存到/includes/extra_datafiles/usps_track_database_tables.php,并把它上传到你的服务器。

注意:这些文件将被自动调用,包括此目录中的任何其他文件,这样会告诉您的自定义文件名是什么系统。

现有文件的额外的JavaScript
    你需要为您的Bizrate帐号加载一些JavaScript,以便它从现有的页面加载(checkout_success.php)在完成订单后。
    创建一个新的文件名为jscript_bizrate.js其中将包括以下内容:
<script language="javascript" type="text/javascript"><!--
whatever the heck bizrate gave you
//--></script>

将文件保存到/includes/modules/pages/checkout_success ,并把它上传到你的服务器。

Zen Cart的升级

使用覆盖系统意味着在您进行升级的时候不必担心您的自定义文件,因为他们都在所有的自定义目录下。

在升级过程中,你会发现新的代码被添加到一些你压缩过的核心文件下。它会很容易的去比较升级文件和覆盖目录中的文件。使用文件的比较会很实用,除了比较或WinMerge可以纳入您覆盖文件的变化。

保存修改过的文件,并将其上传到您的服务器。