2016年1月9日土曜日

EC-CUBE3カスタマイズ1(どうやってカスタマイズするの?)

SYSTEM_KDです。

2016年1つ目の記事になります。
本年もよろしくお願い致します。

さて、本題ですが、EC-CUBE3を少しさわったので、カスタマイズ方法などについてまとめていきたいと思います。(備忘録もかね)

-shared-img-thumb-PAK85_notepc20150319202127_TP_V

 

どうやってカスタマイズするか?

EC-CUBE3の機能をカスタマイズしようとした際に、いきなり壁にぶち当たるんじゃないかと思います。

そもそもどうやってカスタマイズすれば良いのだろうか?

 

ここで言う、「どうやって」というのは、技術的な問題ではなく方向性の部分になります。

 

EC-CUBE2系の時は、カスタマイズを行う際に、EC-CUBEの本体側へ直接手を加えていたかと思いますが、EC-CUBE3系でも同じ方法で良いのだろうか?とふと疑問に思うのではないかと思います。

 

EC-CUBE2系は、バージョンアップを追随(追っかけでのバージョンアップ)していくというものではなかったので、おそらくEC-CUBEの本体へ直接手を加えてカスタマイズする手法を行っていたかと思います。

(そもそも、「バージョン2.12」までは、プラグインで拡張できる機能がなかったのでそうするしか方法がなかったというのもあると思いますが)

 

しかし、EC-CUBE3系で簡単に本体がアップデートできるようになっているということで、本体へ手を加えることは、推奨されていないようです。

(※ちなみに、ここで言う本体部分とは、「html」配下と「src」配下を指します。)

 

となると、やはりプラグインで機能を拡張するようにしないといけないように思います。

 

ですが、EC-CUBE3のアップデートを取り込めるように、本体側へ手を加えずプラグインでカスタマイズをしようとすると、厄介なことがでてきます。

 

プラグインでのカスタマイズは大変?

プラグインでカスタマイズしようとした際に、でてくる厄介なことが何かと言いますと、

それは、

「わりと大変」

だということです。

 

ちょっともったいぶってみましたが、分かりきっている問題点ですね。^^;

 

とはいえ、これは結構な問題で、ちょっとした変更でもプラグインを一式作らないといけないというのは、大変です。

 

文言を少し変更しようにも、ちょっとしたカスタマイズを行おうにも、プラグインを作成しないといけない、本体に手を加えればすぐに終わる修正も、プラグイン経由で行おうとすると大変です。

 

そう考えると、ちょっとした変更は本体へ直接行って、バージョンアップ後に再適用するのも有りな気がしてきます。

 

結局どうする?

本体へ直接手を加えてカスタマイズした場合は、アップデートが大変。

プラグインで変更する場合は、ちょっとしたカスタマイズでも大変。

 

結局どうすれば・・・いんだろう。

 

分かりません!!

 

と言いいそうな気分ですが、個人的な結論としては、少なくとも処理部分は「プラグインにてカスタマイズ」を行う。

表示部分は、本体部分のテンプレート読込順を利用し、本体側へ変更するのが良いのではないかと思います。

 

結論

なぜこの結論に至ったかと言うのを少しだけまとめると、

「本体へ機能的なカスタマイズを行わない方が良い」

これは、順守したいと考えました。

やはり、バージョンアップの際に再度カスタマイズを適用するのは、非効率ですし費用や手間が掛かり過ぎるかと思います。

中にはバージョンアップで動作しなくなるプラグイン(プラグインでのカスタマイズ)も出てくるかと思いますが、問題点を探しだして適用するのも本体へ直接手を加えていた場合よりかは、楽になるのではないかと思います。

よって、「プラグインにてカスタマイズを行う」という結論としました。

 

次に、表示周り(テンプレート)の変更についてですが、こちらは「本体部分のテンプレート読込順を利用し、本体側へ変更」が良いと考えました。

EC-CUBE3では、テンプレートファイル(twig)の読込順が決まっており、まず「app/template」配下の対象テンプレートファイルを探すようになっております。

というのも、管理画面の「コンテンツ管理>ページ管理」でページを編集した場合にテンプレートファイルは、この場所へ保存されるようになっており、本体のテンプレートファイルを書き換えることなく、自分でテンプレートを編集できるようになっております。

要するにここに、編集したテンプレートファイルを置いてやれば、表示内容を変更できるという状態となっております。

ですので、表示部分の簡単な変更は、この場所へテンプレートファイルを配置して対応するのが楽なのではないかという結論となりました。

 

なんとなく、それっぽい回答が出てよかった。^^;

 

ということで、次回からは、上記を踏まえた上で、EC-CUBE3に実際にカスタマイズを行っていきたいと思います。

 

 

[ カスタマイズについて ]

EC-CUBE3カスタマイズ2(EC-CUBE3基礎編)

EC-CUBE3カスタマイズ3(テンプレートについて)

EC-CUBE3のカスタマイズ4(テンプレートを変更する)

0 件のコメント:

コメントを投稿