EC CUBEプラグイン(1つの商品に複数の画像を追加)を作る。

最近EC CUBEを触る機会があり、欲しい機能が無かったのでプラグインとして作ってみました。

ちなみにEC CUBEとは、EC-CUBE(イーシーキューブ)は、オープンソースEC向けコンテンツマネージメントシステムである。by ウィキペディア


ん!?どういうプラグインかって?

それは、1つの商品毎に複数の商品画像を登録し、テンプレート(smratyを使った)からリサイズした対象の商品画像を早く呼び出すプラグインだ!

普通、1つの商品に複数の画像を登録できても良さそうだが、EC CUBEはメインとなる商品画像を130×130、260×260、500×500、 3種類と、それぞれサイズ別に登録するという仕様だ。サブ画像として、200×200、500x500の2種類を最大5つまで登録はできる。

うわぁーーー俺は、100×100がいいんだぁ~ という人は、単純にHTMLまたはCSSでwidht、heightを変更すればいいが・・・ いいのだが・・・

それがいやな場合、URLクエリパラメーターを使って、サイズ変更をすればよいが、残念なことに、キャッシュ機能などが無く、呼び出されるたびに作り直している。
もし、数十個同じ画像をリサイズしたimgタグあった場合、重くてやってられなくなる・・・ 304 Not Modifiedを返しても、限界はある。

ということで、リサイズした画像をキャッシュとして残す、厳密にはリサイズした画像ファイル保存するのだ。EC CUBEは、フック機能が豊富で、リサイズ処理をまるまるこちらで作り替えることができた。

これで、リサイズし放題だぜ(-.☆

URLクエリパラメタでリサイズした画像を呼び出すのもよいが、直接、保存したキャッシュ画像 URLを取得したくなり、テンプレート(smraty)内で、キャッシュ画像URLを取得する関数も作った。
2013-12-25_162523
2013-12-25_163009 管理画面:商品管理>商品登録の画面内
たぶん、ここまで読んでよくわからないだろうw
まずEC CUBEがわからないと話にならないからね^^;

EC CUBEがわかる人なら、下記をダウンロードして実験してみてくれ。
バグ探しはしているが、やはり一人で作ったので目が届かないところがまだある。バグがあったら教えてくれ!ちなみに、対応バージョンは、世間に厳しい2.13.3のみだ! 2.13.3以外での動作チェックがしんどいというという理由で、やってないのだ。


今のところ、EC-CUBEサイトでプラグインを登録してない。もう少し落ち着いたらね・・・といいつつ面倒くさくてやらないんだよなw

プラグイン本体とドキュメント

※2015/09/11にバージョンアップしました。

download