Zen Cart的文件替代机制

本文介绍如何使用ZenCart的文件替代机制进行定制开发,避免修改核心文件导致升级困难。包括语言文件、模板文件、边框文件等的修改方法,以及如何添加自定义文件名和数据库表。

这是一篇早先刚接触 Zen Cart 时转来并保存在本地的文章,

今天帖上来, 放在这里 一来充个数, 二个作个记录, 三来方便后来人;

在Zen Cart的 模板 制作和模块开发当中, 最佳的作法就是尽可能的使用 Zen Cart的替代机制,

这样能作到尽可能的不破坏原程序文件 并且尽可能的保持自己编写的模板与模块的独立性和可移植性,

能最大化的保证原程序的建壮性和可维护性,

可以说 Zen Cart 的这一设计思路是相当值得肯定的和其他同类程序应当加以借鉴的,

不过貌似国内的风气环境大多人不愿意使用 Zen Cart 这个替代机制,

考虑到国人普遍不高的知识产权意识,

可能这也是 Code 编写人员不愿意采用这一机制的原因所在吧,

直接写死的文件可能是也是程序开发人员出于一种基本的自我保护措施吧!

很多用户对ZenCart做了自己的修改,但同时,一些用户修改了很多重要的文件,例如:

/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

1. 例如: 你想修改tpl_account_default.php文件中的一些HTML
2. 在你的模板目录中( /includes/templates/custom ) 你应该已经有一个模板目录了 ( /includes/templates/custom/templates )。
3. 将文件tpl_account_default.php复制到该目录中。然后你就可以自己修改了,它会自动 ’替代’ /includes/templates/template_default/templates目录中的相应文件。
4. 你只要复制需要修改的文件到自己的模板目录,如果你未做修改,那么缺省情况下,商店会从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 define(’FILENAME_ABOUT_US’, ’about_us’) // About Us Filename Define ;?>

该文件将自动被调用, 就象该目录中的其它文件一样, 因此系统知道你的定制文件。
尽量用同样的办法新建文件…例如, 调用文件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 define(’TABLE_UPS_TRACK’, ’ups_track’)  // UPS Tracking Table ;?>

该文件将自动被调用,就象该目录中的其它文件一样, 因此系统知道你的定制数据库。

——————————————————————————–

额外语言文件
例如: 你新建了一个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 中文博客

【电力系统】单机无穷大电力系统短路故障暂态稳定Simulink仿真(带说明文档)内容概要:本文档围绕“单机无穷大电力系统短路故障暂态稳定Simulink仿真”展开,提供了完整的仿真模型与说明文档,重点研究电力系统在发生短路故障后的暂态稳定性问题。通过Simulink搭建单机无穷大系统模型,模拟不同类型的短路故障(如三相短路),分析系统在故障期间及切除后的动态响应,包括发电机转子角度、转速、电压和功率等关键参数的变化,进而评估系统的暂态稳定能力。该仿真有助于理解电力系统稳定性机理,掌握暂态过程分析方法。; 适合人群:电气工程及相关专业的本科生、研究生,以及从事电力系统分析、运行与控制工作的科研人员和工程师。; 使用场景及目标:①学习电力系统暂态稳定的基本概念与分析方法;②掌握利用Simulink进行电力系统建模与仿真的技能;③研究短路故障对系统稳定性的影响及提高稳定性的措施(如故障清除时间优化);④辅助课程设计、毕业设计或科研项目中的系统仿真验证。; 阅读建议:建议结合电力系统稳定性理论知识进行学习,先理解仿真模型各模块的功能与参数设置,再运行仿真并仔细分析输出结果,尝试改变故障类型或系统参数以观察其对稳定性的影响,从而深化对暂态稳定问题的理解。
本研究聚焦于运用MATLAB平台,将支持向量机(SVM)应用于数据预测任务,并引入粒子群优化(PSO)算法对模型的关键参数进行自动调优。该研究属于机器学习领域的典型实践,其核心在于利用SVM构建分类模型,同时借助PSO的全局搜索能力,高效确定SVM的最优超参数配置,从而显著增强模型的整体预测效能。 支持向量机作为一种经典的监督学习方法,其基本原理是通过在高维特征空间中构造一个具有最大间隔的决策边界,以实现对样本数据的分类或回归分析。该算法擅长处理小规模样本集、非线性关系以及高维度特征识别问题,其有效性源于通过核函数将原始数据映射至更高维的空间,使得原本复杂的分类问题变得线性可分。 粒子群优化算法是一种模拟鸟群社会行为的群体智能优化技术。在该算法框架下,每个潜在解被视作一个“粒子”,粒子群在解空间中协同搜索,通过不断迭代更新自身速度与位置,并参考个体历史最优解和群体全局最优解的信息,逐步逼近问题的最优解。在本应用中,PSO被专门用于搜寻SVM中影响模型性能的两个关键参数——正则化参数C与核函数参数γ的最优组合。 项目所提供的实现代码涵盖了从数据加载、预处理(如标准化处理)、基础SVM模型构建到PSO优化流程的完整步骤。优化过程会针对不同的核函数(例如线性核、多项式核及径向基函数核等)进行参数寻优,并系统评估优化前后模型性能的差异。性能对比通常基于准确率、精确率、召回率及F1分数等多项分类指标展开,从而定量验证PSO算法在提升SVM模型分类能力方面的实际效果。 本研究通过一个具体的MATLAB实现案例,旨在演示如何将全局优化算法与机器学习模型相结合,以解决模型参数选择这一关键问题。通过此实践,研究者不仅能够深入理解SVM的工作原理,还能掌握利用智能优化技术提升模型泛化性能的有效方法,这对于机器学习在实际问题中的应用具有重要的参考价值。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值