修改Opencart中的控制器而不触及核心?

时间:2012-10-16 17:01:48

标签: php polymorphism opencart extending-classes

开发人员是否有办法在Opencart中修改控制器和模型方法而无需触及核心文件?就像WP拥有 functions.php 文件的方式一样,你可以修改WP的内容,而不必担心将来的升级会覆盖你的代码。

以下是我认为每个开发人员都需要在Opencart工具箱中使用的一些示例:

  • 更新值的能力
  • 运行自定义SQL查询
  • 更新程序层的逻辑
  • 进一步扩展系统

2 个答案:

答案 0 :(得分:1)

看看vQmod。这是大多数开发人员使用的主要方式,以便不修改核心代码

答案 1 :(得分:0)

我建议最低限度地修改核心,以便可以轻松扩展。 对于已经太晚的人来说,在一个例子中将修改后的核心从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?