前回に引き続きEC-CUBEの大枠の構造についてご説明したいと思います。
過去の記事でも少し触れた事があるのですが、EC-CUBEの処理はエントリポイント(公開側、var/www/html/shopname等のフォルダ)
から始まり、そこから各対応したクラスを呼びだし処理をしています。その際に呼び出されるクラスが各ページにつき1つ存在するという設計方法になっています。
例:カートページの場合は、cart/index.phpがエントリポイントになり、対応するクラスはdata/class/pages/cart/LC_Page_Cart.php内のLC_Page_Cart
これらのページクラス(と勝手にいいます)には必ずinit関数とprocess関数があります。(2.11の場合は加えてaction関数があります)
この2つの関数のうちinitがまず処理されます。これは初期化の意味で、マスターデータ(ショップ情報なと)やタイトルのセットを行います。
次にprocess関数が実行されます。この部分が実際の処理関数になっており、各ページに応じた処理を行います。カートのページの場合には個数を増やしたり減らしたり、カートから商品を削除したりといった事になります。
またクラス変数に設定されたものは($this->tpl_titleのように$thisのついている変数)テンプレートに割り当てられるようになっています。
ここまで理解できれば、EC-CUBEに関してカスタマイズを行うことは難しくありません。
あとは、PHPとSmartyの知識があればガリガリカスタマイズ可能です。