| 1 | ''このページは書きかけです...'' |
| 2 | = カスタマイズと移行の手引(v1.5) = |
| 3 | |
| 4 | EC-CUBE 1.5 では, 以前のバージョンより, 大幅なアーキテクトの変更を行いました.[[BR]] |
| 5 | これは主に, アップグレード時のマージ作業緩和, 自動アップデート機能実装のためと, より柔軟なカスタマイズを可能にするためです. |
| 6 | |
| 7 | == 主な変更点 == |
| 8 | |
| 9 | 1. ディレクトリ構成 |
| 10 | * ディレクトリ構成が大きく変わりました. |
| 11 | * [wiki:ディレクトリ構成(v1.5)] |
| 12 | * ''data/lib'', ''data/include'' 以下の関数群は, '''data/class/util''', '''data/class/helper''' 以下のクラスへ移動しました. |
| 13 | * '''data/class/util''' 以下のクラスは, スタティック参照するユーティリティ系のクラスです. |
| 14 | * '''data/class/helper''' 以下のクラスは, 内部で他クラスのインスタンスを生成するヘルパークラスです. |
| 15 | * 以前のバージョンにおいて, html 以下のファイルに存在していた LC_Page クラスは, '''data/class/pages/LC_Page.php''' の '''LC_Page''' クラスを基底クラスとし, LC_Page クラスを継承して使用するようになりました. |
| 16 | * html 以下のファイルは, LC_Page クラスの '''init()''', '''process()''', '''destroy()''' を順に実行するのみの内容となりました. |
| 17 | 1. '''init()''' - 主にクラスの初期化をする関数 |
| 18 | 2. '''process()''' - ページのメインロジック |
| 19 | 3. '''destroy()''' - デストラクタ. ページ処理の終了時に自動的に呼ばれる |
| 20 | 2. 定数, マスタデータの DB化 |
| 21 | * 以前のバージョンで, conf.php に存在していた, ほとんどの定数や, マスタデータ系のグローバル配列は, データベースの mtb_*** テーブルに移行しました. |
| 22 | * DB化に伴う DBアクセス低減のため, これらのデータは, '''data/conf/cache''' 以下にキャッシュされ, 実行時に使用されます. |
| 23 | * これらの定数, マスタデータは, 管理画面から修正可能です. 修正時に, '''data/conf/cache''' 以下のキャッシュが更新されます. |
| 24 | |
| 25 | == カスタマイズの手引 == |
| 26 | EC-CUBE 1.5 からは, 以前のバージョンでの課題であった, バージョンアップ時におけるマージ作業が大幅に緩和されます.[[BR]] |
| 27 | また, 「自動アップデート」機能により, 配信サーバーによる自動的なバグフィックスや, バージョンアップが可能となりました.[[BR]] |
| 28 | 是非, 以下の方法でカスタマイズを実施して下さい! |
| 29 | |
| 30 | * '''data/class''' 以下に '''***_extends''' というディレクトリがあります. この中にカスタマイズ用のクラス群があります. |
| 31 | * 関数をカスタマイズする場合は, 必ず '''***_extends''' 以下のクラスで継承し, オーバーライドしてカスタマイズして下さい. |
| 32 | * EC-CUBE がバージョンアップした場合でも, これらのファイルは '''更新されない''' ため, 煩わしいマージ作業から開放されます. |
| 33 | 1. html 以下のファイルを修正したい場合は, '''data/class/pages''' 以下を見て下さい. |
| 34 | 2. html と同じ階層構造になっており, '''LC_Page_ディレクトリ名_ファイル名.php''' というようなクラスファイルがあり, この中にロジックが詰まっています. しかし, '''このクラスをカスタマイズしてはいけません.''' |
| 35 | 3. '''data/class/page_extends''' に, 同様の階層構造があります. '''LC_Page_ディレクトリ名_ファイル名_Ex.php''' というクラスファイルがあり, これらは '''data/class/pages''' のクラス群を継承しています. |
| 36 | 4. このクラスの, '''init()''', '''process()''', '''destroy()''' という関数をカスタマイズすることにより html 以下のファイルの動作を修正できます. |
| 37 | * index.php に対応するクラスのみ, '''LC_Page_ディレクトリ名_Ex.php''' というように, ファイル名及びクラス名が省略されています. |
| 38 | * ''EC-CUBE 1.5 では, 以前のバージョンのロジックを「ほぼそのまま」移植しているため, リファクタリングが不十分です. これは新規バージョンで徐々に改善していく予定です'' |