开发人员有没有办法在 Opencart 中修改控制器和模型方法,而无需接触核心文件?就像 WP 拥有functions.php文件的方式一样,您可以在其中修改 WP 的内容,而不必担心未来的升级会覆盖您的代码。
以下是我认为每个开发人员都需要在他们的 Opencart 工具包中包含的一些示例:
- 更新值的能力
- 运行自定义 SQL 查询
- 程序层更新逻辑
- 进一步扩展系统
开发人员有没有办法在 Opencart 中修改控制器和模型方法,而无需接触核心文件?就像 WP 拥有functions.php文件的方式一样,您可以在其中修改 WP 的内容,而不必担心未来的升级会覆盖您的代码。
以下是我认为每个开发人员都需要在他们的 Opencart 工具包中包含的一些示例:
看看vQmod。这是大多数开发人员使用的主要方式,以免修改核心代码
我建议对核心进行最低限度的修改,以便可以轻松扩展。对于已经为时已晚的任何人,下面是一个将修改过的核心从 2.0.2.0 升级到 master 的示例:(否则我建议分叉 opencart 并使用 rebase!)
git clone https://github.com/opencart/opencart
cd opencart
git checkout 2.0.2.0 #insert tag with your current version. Mine was 2.0.2.0
cd upload
#Note: sed strips paths for 'upload/' (opencart)
git diff 2.0.2.0 master > ~/patch-to-newest-version.diff | sed "s/+++ b\/upload\//+++ b\//" | sed "s/--- a\/upload\//--- a\//"
# I chose ^master^ but you'd better use a stable version.
cd to-your-modified-(opencart)core
patch -p1 < ~/patch-to-newest-version.diff
#..time to resolve the conflicts.. hopefully not much. Good luck.
(如果有人知道修补修改过的核心的更好方法,请发表评论。特别是因为继续在“/upload”文件夹中工作并不好......使用稀疏结帐或s/t?