バージョンアップに備えたEC-CUBE開発手法
独自のカスタマイズを盛り込んだ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カスタマイズのちょっとしたテクニックをご紹介させて頂きました。
それでは、また。
他の記事もご覧ください
-
「ECサイトとは?」「ECってどんな意味?」今さら聞けない素朴な疑問を分かりやすく説明!サイト制作や運営のポイントも詳しく解説します
ネット通販は私たちの暮らしにすっかり身近な存在となっていますが、皆さんは「ECサイト」というものについてどのくらい知っていますか?本稿ではECサイトの基本知識から成功するための実践的なポイント、おすすめのEC構築方法などを幅広く解説します。
-
ECサイト運営とは:成功するための実務フロー・必要スキル・よくある課題・改善策を徹底解説!EC-CUBEの活用ポイントも
「これからECサイトを構築することになったが、何から手をつけたらよいかわからない」「ECサイトをリニューアルすることになったが、どのパッケージを使えばベストなのかわからない」「ASPカート、パッケージ、オープンソース、フルスクラッチの違いや特徴がいまいち理解できていない」とお悩みのご担当者は多いのではないでしょうか?この記事ではECサイト制作・構築のステップ、よくある困りごとと対策などを解説していきます。ECサイトをこれから立ち上げる予定の方、リニューアルを検討している方にとって何かひとつでもお役に立てば幸いです。
-
ECサイトの作り方ガイド【初心者向け】無料で始めるECサイト作成の全手順
「ECサイトを作りたいけど、何から始めればいいのか分からない…」というあなた、ご安心ください!ECサイトを立ち上げるまでの流れや準備すること、注意点などを詳しく解説します。無料でサイトを作れる便利なサービスもご紹介していますのでぜひご覧ください。
