Zen Cart 添加修改模板(文件替代机制)
首先,为新的模板文件创建一个目录。
打开:includes/templates/ 在这里建立一个目录,例如mytemplate
复制includes\templates\classic 所有目录和文件到新创建的includes\templates\mytemplate/目录中.接着,用文本编辑器打开文件 /includes/templates/mytemplate/template_info.php。修改 $template_name = ‘Default Theme’; 为$template_name = ‘我的模板’; 加上你自己的版本、作者和描述。现在,转到管理页面,选择 工具(Tools) -> 模板选择(Template Selection),点击编辑,从下拉菜单中选择你的模板,并点击更新按钮。最后,选择工具(Tools) -> 外观设置(Layout Boxes Controller), 在屏幕最下面,选择重置按钮。
修改缺省语言文件 – /includes/languages/schinese.php
例子: 你想修改标题,将“Zen Cart!”, 改为“我的商店名称!”
在目录/includes/languages下,建立一个与你的模板同名的目录,例如/includes/languages/custom.
将schinese.php文件复制到该目录。
接着,你就可以修改文件/includes/languages/custom/schinese.php:
修改语言文件 – /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 ##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,然后很容易将新的修改加入到你的替代文件中。
meta_tags.php文件可以替代,需要复制到
/includes/languages/schinese/Your_Template/ 目录下