開発者がコア ファイルに触れることなく、Opencart のコントローラーとモデル メソッドを変更する方法はありますか? WP にfunctions.phpファイルがあるのと同じように、将来のアップグレードでコードが上書きされることを心配することなく、WP の中身を変更できます。
すべての開発者が Opencart ツールキットに含める必要があると私が考えるいくつかの例を次に示します。
- 値を更新する機能
- カスタム SQL クエリを実行する
- プログラム層の更新ロジック
- システムをさらに拡張する
開発者がコア ファイルに触れることなく、Opencart のコントローラーとモデル メソッドを変更する方法はありますか? WP にfunctions.phpファイルがあるのと同じように、将来のアップグレードでコードが上書きされることを心配することなく、WP の中身を変更できます。
すべての開発者が Opencart ツールキットに含める必要があると私が考えるいくつかの例を次に示します。
vQmodを見てください。これは、コア コードを変更しないために、ほとんどの開発者が使用する主な方法です。
簡単に拡張できるように、コアを最小限に変更することをお勧めします。そして、すでに手遅れな人のために、変更されたコアを 2.0.2.0 からマスターにアップグレードする例を以下に示します: (それ以外の場合は、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 を使用しますか?