バージョンアップに備えたEC-CUBE開発手法

#ECの知識

複雑な要件も100%叶える
ベンダー依存を脱却し、自社専用EC基盤を。

まずは相談する

独自のカスタマイズを盛り込んだECサイトを展開したいショップオーナー様にとってEC-CUBEは非常に魅力的なツールですが、気をつけなくてはいけないのが、セキュリティホールが見つかった場合やバージョンアップ時の対応です。

EC-CUBEのプログラムソースに手を加えてしまったがためにセキュリティパッチの対応が難しくなってしまった。という方もいるかと思います。

システムカスタマイズの話になりますが、今日はそんなモヤモヤを抱えてEC-CUBEを運用している方に【extends】の紹介をしたいと思います。

extendsとは

EC-CUBEには(というよりもPHPなどのオブジェクト指向プログラミング言語には)extends(継承)という機能が備わっており、この仕組みを利用すると大元のプログラムソースを残したまま、システムのカスタマイズをすることができます。

EC-CUBEでもこの仕組みを全体的に取り入れており、元のソースを改変することなく、システムのカスタマイズが出来るようになっています。

「システムに業務を合わせる」妥協は終わりにしませんか。複雑な要件も100%叶える、ベンダー依存のない自社専用EC基盤を。
自社要件を相談する

どこにあるの?

EC-CUBEのプログラムが入っている「/data」ディレクトリを開くと大元のプログラム一式が格納されている「class」ディレクトリがあり、そのディレクトリと同じ階層に「class_extends」というディレクトリがあると思います。

このディレクトリ内には「class」に格納されているプログラム一式とそっくり同じ構成で、ファイル名に「_Ex」という文字を付加したプログラム一式が格納されています。EC-CUBEのシステムカスタマイズを行う場合は、この「_Ex」ファイルに修正を加えるようにすると、元のソースをそのまま残すことができ、セキュリティパッチやバージョンアップの対応時に改変したソースの場所を容易に特定することが出来るようになります。

簡単な実例

大元のプログラムである「/data/class/pages/mypage/LC_Page_Mypage.php」ではなく、それを継承した「/data/class_extends/page_extends/mypage/LC_Page_Mypage_Ex.php」に、以下のような追記をします。

function init() {
  parent::init();                    // 大元のinit()を実行

  //  フィーチャーホンの場合にのみ実行する処理
  if (SC_Display_Ex::detectDevice() === DEVICE_TYPE_MOBILE) {
    $this->tpl_subtitle = 'フィーチャーホン専用ページです!';
  }
}

このように、追加するプログラムソースを分離できる仕組みにより、自分で改変した部分も非常に分かりやすくなり、カスタマイズの仕様もプログラムソースから把握しやすくなります。

難点は追加するソースだけ継承ファイルに記述するために、直接大元のファイルを改変するよりも時間がかかってしまうことですが、今後、長い間そのシステムを運用していくのであれば、最初の段階でひと手間かけて管理をしやすくしておくことは非常に大事な事だと思います。

以上、駆け足でしたが、EC-CUBEカスタマイズのちょっとしたテクニックをご紹介させて頂きました。

それでは、また。

監修

株式会社イーシーキューブ

国内No.1シェアを誇るEC構築オープンソース「EC-CUBE」の開発元企業です。親会社の株式会社イルグルム(東証スタンダード市場上場)とも連携し、戦略立案から構築・運用・マーケティングまでワンストップのEC支援を行っています。これまで数多くのEC構築・改善を手がけてきた知見を活かし、実務に役立つノウハウや導入事例などを分かりやすく解説・発信しています。「ECサイトをどう作ればいいのか分からない」「既存サイトをもっと強化したい」「ECサイトの運営について詳しく知りたい」…そんなお悩みをお持ちの方々に、少しでもヒントとなる情報をご提供できれば幸いです。
※ 独立行政法人情報処理推進機構「第3回オープンソースソフトウェア活用ビジネス実態調査」による

#ECの知識

複雑な要件も100%叶える。
ベンダー依存を脱却し、自社専用EC基盤を。

他の記事もご覧ください

記事一覧に戻る

EC-CUBE公式アドバイザー
ご相談窓口

  • 他社のASPやパッケージとの違いを知りたい
  • BtoCのサイトにBtoB機能を追加したい
  • 何から手をつければよいかわからない
  • 自社にマッチした制作会社を探したい
  • サイト制作だけでなく運営もサポートしてほしい

新規構築・リニューアル・取引先向けのWeb受発注システム(BtoB)や事業の拡大など、
今抱えている課題を解決する最適な業者探しを、アドバイザーがお手伝いします。