Changes between Version 1 and Version 2 of カスタマイズと移行の手引(v2.0)


Ignore:
Timestamp:
2007/10/09 12:52:56 (15 years ago)
Author:
nanasess
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • カスタマイズと移行の手引(v2.0)

    v1 v2  
    11''このページは書きかけです...'' 
    2 = カスタマイズと移行の手引(v1.5) = 
     2= カスタマイズと移行の手引(v2.0) = 
    33 
    4 EC-CUBE 1.5 では, 以前のバージョンより, 大幅なアーキテクトの変更を行いました.[[BR]] 
     4EC-CUBE 2.0 では, 以前のバージョンより, 大幅なアーキテクトの変更を行いました.[[BR]] 
    55これは主に, アップグレード時のマージ作業緩和, 自動アップデート機能実装のためと, より柔軟なカスタマイズを可能にするためです. 
    66 
     
    99 1. ディレクトリ構成 
    1010    * ディレクトリ構成が大きく変わりました. 
    11       * [wiki:ディレクトリ構成(v1.5)] 
     11      * [wiki:ディレクトリ構成(v2.0)] 
    1212      * ''data/lib'', ''data/include'' 以下の関数群は, '''data/class/util''', '''data/class/helper''' 以下のクラスへ移動しました. 
    1313        * '''data/class/util''' 以下のクラスは, スタティック参照するユーティリティ系のクラスです. 
     
    2424 
    2525== カスタマイズの手引 == 
    26 EC-CUBE 1.5 からは, 以前のバージョンでの課題であった, バージョンアップ時におけるマージ作業が大幅に緩和されます.[[BR]] 
     26EC-CUBE 2.0 からは, 以前のバージョンでの課題であった, バージョンアップ時におけるマージ作業が大幅に緩和されます.[[BR]] 
    2727また, 「自動アップデート」機能により, 配信サーバーによる自動的なバグフィックスや, バージョンアップが可能となりました.[[BR]] 
    2828是非, 以下の方法でカスタマイズを実施して下さい! 
    2929 
    30  * '''data/class''' 以下に '''***_extends''' というディレクトリがあります. この中にカスタマイズ用のクラス群があります. 
    31     * 関数をカスタマイズする場合は, 必ず '''***_extends''' 以下のクラスで継承し, オーバーライドしてカスタマイズして下さい.  
     30 * '''data/class_extends''' 以下にカスタマイズ用のクラス群があります. 
     31    * 関数をカスタマイズする場合は, 必ず '''***_extends''' 以下のクラスで継承し, オーバーライドしてカスタマイズして下さい. 
    3232      * EC-CUBE がバージョンアップした場合でも, これらのファイルは '''更新されない''' ため, 煩わしいマージ作業から開放されます. 
    3333 1. html 以下のファイルを修正したい場合は, '''data/class/pages''' 以下を見て下さい. 
    3434 2. html と同じ階層構造になっており, '''LC_Page_ディレクトリ名_ファイル名.php''' というようなクラスファイルがあり, この中にロジックが詰まっています. しかし, '''このクラスをカスタマイズしてはいけません.''' 
    35  3. '''data/class/page_extends''' に, 同様の階層構造があります. '''LC_Page_ディレクトリ名_ファイル名_Ex.php''' というクラスファイルがあり, これらは '''data/class/pages''' のクラス群を継承しています.  
     35 3. '''data/class/page_extends''' に, 同様の階層構造があります. '''LC_Page_ディレクトリ名_ファイル名_Ex.php''' というクラスファイルがあり, これらは '''data/class/pages''' のクラス群を継承しています. 
    3636 4. このクラスの, '''init()''', '''process()''', '''destroy()''' という関数をカスタマイズすることにより html 以下のファイルの動作を修正できます. 
    3737   * index.php に対応するクラスのみ, '''LC_Page_ディレクトリ名_Ex.php''' というように, ファイル名及びクラス名が省略されています. 
    38    * ''EC-CUBE 1.5 では, 以前のバージョンのロジックを「ほぼそのまま」移植しているため, リファクタリングが不十分です. これは新規バージョンで徐々に改善していく予定です'' 
     38   * ''EC-CUBE 2.0 では, 以前のバージョンのロジックを「ほぼそのまま」移植しているため, リファクタリングが不十分です. これは新規バージョンで徐々に改善していく予定です'' 
     39 
     40=== テンプレート機能の改善 === 
     41EC-CUBE 2.0 からは, モバイル, 管理ページ を含む, すべての画面において, カスタムテンプレートが作成可能となりました.[[BR]] 
     42 * デフォルトのテンプレートは以下へ配置 
     43   * アップデート機能は, これらのファイルも上書きする 
     44{{{ 
     45   html/user_data/templates/default/js 
     46   html/user_data/templates/default/css 
     47   html/user_data/templates/default/img 
     48   data/Smarty/templates/default      -> メイン, ヘッダ/フッタ, その他 
     49   data/Smarty/templates/default/cp   -> キャンペーン用 
     50   data/Smarty/templates/default/bloc -> ブロック 
     51   data/Smarty/templates/default/bloc/cp -> キャンペーン用 ブロック 
     52   data/Smarty/templates/default/ 
     53   data/Smarty/templates/default/cp  -> キャンペーン用 メイン, ヘッダ/フッタ 
     54}}} 
     55 * 管理画面から修正可能なテンプレート, CSS 
     56   * これらのファイルは, アップデート機能はアクセスしない 
     57   * 管理画面から修正した場合のみ, 下記のファイルを参照する(common.css 
     58     を除く) 
     59   * 下記のファイルを削除すると, default テンプレート or カスタムテン 
     60     プレートのファイルを参照する. 
     61{{{ 
     62   html/user_data/css/common.css -> CSS編集 
     63   html/user_data/include/bloc/*.tpl -> ブロック編集 
     64   html/user_data/include/*.tpl      -> ヘッダ/フッタ編集 
     65   html/user_data/templates/*.tpl      -> メイン編集 
     66   html/user_data/*.php      -> 新規ページ作成 
     67   html/user_data/*.tpl      -> 新規ページテンプレート 
     68}}} 
     69 * カスタムテンプレートを作成する場合は, default の部分を他の名前に変更する. 
     70   * アップデート機能はカスタムテンプレートを上書きしない 
     71   * テンプレートの切り替えは, 定数の値を変更することで対応する[[BR]] 
     72     例) default -> custom 
     73     * 管理画面から変更可能 
     74     * html/user_data/css/common.css は手作業で修正する必要あり. 
     75