EC-CUBEカスタマイズ
EC-CUBEのカスタマイズは、本当に難しい。
少し前に、EC-CUBEのカスタマイズが終わって一息。(いや、終わってないかも…)
自分が勤めている会社のECサイトなんですが。
なんと、オリジナルのデータベースとEC-Cubeのデータベースを混在させて、運営させちゃってますwww
EC-Cubeの表示機能は一切無視(笑)。
パラメータさえPOST出来れば、フルFLASHのサイトでもEC-Cubeが使えます。
さらに言ってしまうと、多数のECサイトを運営する場合でも、たった一つのEC-Cubeを動かすだけで何個ものサイトが運営出来ちゃいます。
ハッキリ言って、EC-Cubeのカスタマイズをしていて一番ネックなのは表示まわりの自由度の低さだったりしちゃいます。
個人的にはフルFLASHでグリグリのサイトとか好きなんですけど、そういうサイトって、なかなかカート処理を組み込むのが難しい…。
でも、表示機能の部分を切り分けて使うのであれば、EC-Cubeでも充分いけます。
要は、カート処理まわりのプログラムにパラメータさえ渡せればいいわけで。
EC-Cubeって使い方によっては、便利なアプリケーションだと思います。
「EC-Cubeってどうよ?」
なんて批判めいた話もチラホラ聞くけど、そういったことが言えるのは、ゴリゴリに使い倒してから…(r
まあ、僕を含めてEC-Cubeをゴリゴリに使い倒している事例は現在のWeb上には存在しないわけで、少なくとも技術的な視点でEC-Cubeを批判的に語れる人も存在しないのかな。
ただ、確かにDBの設計については「ひでぇな(笑)」ってなるかもです。
---------------[ ここからカスタマイズメモ ]-------------
今回は、「MediaBox」を使ってみることに。
mediaboxAdvanced
カートボタンを押すと、「mediabox」が立ち上がるようにするには、以下の部分をいじる。
data/class/pages/products/LC_Page_Products_Detail.php
の
「$this->sendRedirect...」
を
print <<< EOF
<script>parent.Mediabox.open('http://サイトURL/cart/index.php', '', 'mediabox[90% 90%]');</script>
EOF;
という感じでmediaboxを呼び出すスクリプトに変更。
つまり、カートボタンを押してカート処理をして最終的にリロードする処理をmediaboxを呼び出す処理に。
そうそう…MediaBoxの
overlay = new Element.....
の部分をしっかり処理しておかないと、カート処理中にうっかり画面を閉じてしまう人がいると思うので、処理を忘れないようにしましょう。
僕は("click", previous)に変えてしまってます(笑)。
少し前に、EC-CUBEのカスタマイズが終わって一息。(いや、終わってないかも…)
自分が勤めている会社のECサイトなんですが。
なんと、オリジナルのデータベースとEC-Cubeのデータベースを混在させて、運営させちゃってますwww
EC-Cubeの表示機能は一切無視(笑)。
パラメータさえPOST出来れば、フルFLASHのサイトでもEC-Cubeが使えます。
さらに言ってしまうと、多数のECサイトを運営する場合でも、たった一つのEC-Cubeを動かすだけで何個ものサイトが運営出来ちゃいます。
ハッキリ言って、EC-Cubeのカスタマイズをしていて一番ネックなのは表示まわりの自由度の低さだったりしちゃいます。
個人的にはフルFLASHでグリグリのサイトとか好きなんですけど、そういうサイトって、なかなかカート処理を組み込むのが難しい…。
でも、表示機能の部分を切り分けて使うのであれば、EC-Cubeでも充分いけます。
要は、カート処理まわりのプログラムにパラメータさえ渡せればいいわけで。
EC-Cubeって使い方によっては、便利なアプリケーションだと思います。
「EC-Cubeってどうよ?」
なんて批判めいた話もチラホラ聞くけど、そういったことが言えるのは、ゴリゴリに使い倒してから…(r
まあ、僕を含めてEC-Cubeをゴリゴリに使い倒している事例は現在のWeb上には存在しないわけで、少なくとも技術的な視点でEC-Cubeを批判的に語れる人も存在しないのかな。
ただ、確かにDBの設計については「ひでぇな(笑)」ってなるかもです。
---------------[ ここからカスタマイズメモ ]-------------
今回は、「MediaBox」を使ってみることに。
mediaboxAdvanced
カートボタンを押すと、「mediabox」が立ち上がるようにするには、以下の部分をいじる。
data/class/pages/products/LC_Page_Products_Detail.php
の
「$this->sendRedirect...」
を
print <<< EOF
<script>parent.Mediabox.open('http://サイトURL/cart/index.php', '', 'mediabox[90% 90%]');</script>
EOF;
という感じでmediaboxを呼び出すスクリプトに変更。
つまり、カートボタンを押してカート処理をして最終的にリロードする処理をmediaboxを呼び出す処理に。
そうそう…MediaBoxの
overlay = new Element.....
の部分をしっかり処理しておかないと、カート処理中にうっかり画面を閉じてしまう人がいると思うので、処理を忘れないようにしましょう。
僕は("click", previous)に変えてしまってます(笑)。