EC-CUBE

2009年07月30日

EC-Cubeカスタマイズ「カテゴリー別インフォ」と「リッチエディター」

久しぶりにEC-Cubeのカスタマイズネタでも書いてみようと思います。
最新版EC-Cube Ver.2.4.1をベースにカスタマイズします。

2.4.1になって、細かいバグはみんな取れたので、どちらかというと機能増強を目指してカスタマイズしたいと思います。

まずは「EC-Cubeの学校」で紹介されている「カテゴリ毎に異なる説明文や画像を表示する」を導入します。もし、EC-Cubeのカスタマイズを行おうというのであれば、ぜひ、この「EC-Cubeの学校」のカスタマイズ方法を見ておいたほうがいいですね。class_extendsを使ったカスタマイズは、バージョンアップをしなければならないときなどに安心感があります。

こちらはほとんど問題なくカスタマイズ完了!
ありがとう、ホマン先生!!

加えて、今回はできるだけお客様にコンテンツ管理を行っていただく方向性なので、コンテンツ生成についてもリッチエディターが入れたいなぁ、と。

そこで、「EC-CUBE KnowHow Wiki」を参考にします。
こちらの「エディタのリッチ化」ページで、FCKEditorをEC-Cubeに入れ込むカスタマイズが紹介されています。

こっちはちょっとハマってしまいました。
私の失敗が後の人のためになれば、と思い、何にハマっていたかということを明記しておきます。

それはLC_Page_Admin_Products_Product.phpに対する変更で、
(EC-Cubeの学校で習った通りに実際にはclass_extendsで修正しましたが)
oFCKeditor.BasePath = '/shop/user_data/fckeditor/';
になっている部分のこのPathの設定です。
あくまで、http://www.shopdomain/shop/でEC-Cubeをインストールしたという前提で書かれていたので、そこを注意しなければいけなかったのですが、それに気がつかず、延々と悩んでしまいました。

でも、これでカスタマイズできて、いい感じ。

さらに、独自カスタマイズとして、カテゴリー別インフォの入力画面をリッチエディター化する、ということまでたどり着きたかったのですが、これを行うには、管理画面を作りかえる必要があるので、ひとまず中断。画面デザインを考えて再挑戦しなければいけません。

そういえば、送料カスタマイズを公開しようとしてそのままになってしまっているなぁ。お盆休みにでもVer.2.4.1への適用方法をまとめてみたいと思います。

そういえば、こんな本が発売されました。

EC-CUBE公式ガイドブック カスタマイズ編―オープンソースECサイト構築ソフト Ver2.4.0対応EC-CUBE公式ガイドブック カスタマイズ編―オープンソースECサイト構築ソフト Ver2.4.0対応
著者:オレンジ 岸本
販売元:秀和システム
発売日:2009-07
クチコミを見る

また、以前からの公式本

EC‐CUBE「Ver2対応」公式ガイドブック―オープンソースECサイト構築ソフトEC‐CUBE「Ver2対応」公式ガイドブック―オープンソースECサイト構築ソフト
著者:中川 仁
販売元:秀和システム
発売日:2008-01
おすすめ度:3.0
クチコミを見る

も、一度は読んでおくといいかも、です。


dmatsu2005 at 19:16コメント(0)トラックバック(0) 

2009年01月06日

EC-Cubeのその後

だんだんとEC-Cubeのカスタマイズのポイントがわかるようになってきた今日この頃。送料計算のカスタマイズは、コミュニティでもずっと話が出ているようですね。

せめて重量計算+県別対応は、正式対応して欲しいのだけども、どうなることやら。

DBをいじるとロクなことがないので、外付けでテーブルをかませようと、新しいアイデアを検討中です。

もし、できたら公開します。というより、もう少ししたら、実装しないといけない感じなんだよねぇ。


dmatsu2005 at 00:02コメント(0)トラックバック(0) 

2008年12月03日

EC-Cubeのカスタマイズというか、まともに使えるようにするメモ

EC-Cube(2.3.0)を使って、お客様のショッピングサイト構築を行っておりますが、いろいろ直すべきところがあって大変です。次回、忘れないように、ちょっとメモをしておきます。(そんなわけで、このBlogエントリは随時更新が予定されます。)

1.ルミーズの決済モジュールをインストールするとき
(1) コンビニ決済にトラブル(PC決済)
問題:utf-8でページが生成されていますが、Shift_JISでデータを送らねばならず、エラー発生。
解決法:/data/downloads/module/mdl_remise/remise_conveni.tplにて、<form>内に Accept-charset="Shift_JIS" を書き込み、下のNextリンクに、JavaScript埋め込み(onclick="org=document.charset; document.charset='Shift_JIS'; return fnCheckSubmit(); document.f_g.submit(); document.charset=org;")

参考→http://gont.net/gontdo/archives/000740.html


(2) コンビニ決済にトラブル(携帯側)
問題:顧客名に全角カタカナが含まれると決済へ半角カタカナに変換して送信してしまう。
解決法:EC-Cubeコミュニティサイトへ質問を投稿しました。→ここ
いい解決方法を教えてもらえるといいなぁ。

(3)携帯画面のフッター
問題:決済モジュール内のモバイル画面のフッターが反映されない。これは、携帯画面のフッター(/data/Smarty/templates/default/mobile/footer.tpl)を変更しても、決済モジュール内のフッターが固定化されているという状況
解決法:/data/downloads/module/mdl_remise 内の remise_card_mobile.tpl と remise_conveni_mobile.tpl を変更することで解決できます。
<center>LOCKON CO.,LTD.</center>
となっているところを
<!--{include file='footer.tpl'}-->
に変更する。

2.送料設定
問題:デフォルトのままでは、送料は一注文に対して(都道府県別)設定。サイトによく載っている解決法だと、一商品ごとに「送料」×「個数」を計算してくれるが、この「送料」だと都道府県別に設定できない。
解決法:ただいまプログラム作成中につき、続報を待て。
    →12/9追記 ハンパ無いカスタマイズですね。
    もし、やることになってしまった人へ:DBをいじると、
    SC_Helper_DB.php
    SC_CartSession.php
    LC_Page_Admin_Products_Product.php
    product.tpl
    confirm.tpl
    create_table_mysql.sql(これはどうでもいいのかも)
    create_view.sql(これはどうでもいいのかも)
    insert_data.sql(これはどうでもいいのかも)
    SC_DB_DBFactory_MYSQL.php
    上記のファイルをいじる羽目に。(しかもまだ終わっていない
    死にたくなければ、あまりDBはいじらない方がいいと思う。
    僕は地雷を踏みたくて踏んでいるので…。

3.携帯でのセッションID問題
問題:携帯でセッションIDがうまく渡されずに、買い物かごや、会員登録ができない。
解決法:これは、単純に使っているサーバの問題。/html/.htaccessにて、php_flag session.use_trans_sid 1のコメントアウト(#)を外せば解決した。

参考→http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=874&forum=10&post_id=2627

4.受注管理画面での納品書作成
問題:納品書PDFにEC-Cubeロゴが表示されるが、設定画面では変更する箇所が無い。
解決法:/html/user_data/packages/default/img/pdf に logo.png がある。それを書き換えてしまえばよい。サイズなどを変更しなければならないとしたら、/data/class/SC_Fpdf.php あたりをいじくると良い。

参考→http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=2598&forum=11

5.カレンダーパーツの定休日設定
問題:カレンダーパーツの通常定休日設定画面がどこにも無い。
解決法:現在、2.4.0系での定休日設定の画面作成を行っているみたいだが、2.3.0に反映させるのは面倒。通常定休日に設定されている土日の休みを失くしてしまうためには、/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Calendar.php 内のfunction lfGetCalendar にて、
if ($this->lfCheckHoliday($month, $Day->day) || $Day->first || $Day->last) {
となっているところを
if ($this->lfCheckHoliday($month, $Day->day)) {
にしてしまう。面倒だけど、その後、個別定休日となる日を登録するのが簡単。

6.現行バージョンまでのパッチ当て作業

本日現在では2.3.2がリリース。セキュリティ問題などが出ているので、一つ一つ修正していかねばなりません。これは、ダウンロードページを見ながら、やっていくしかないですね。

7.デフォルト設定:携帯(DoCoMo)

問題点:デフォルト設定のままだとDoCoMo携帯でモバイルサイトを見ると、リンクが潰れて見えない。
解決法:/data/Smarty/templates/default/mobile/site_main.tpl の <body> タグ内の alink属性が悪さをしているので、外してしまう。

参考→http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=849&forum=13

とまぁ、いまのところ、こんな感じ。あとは、どこまで直せばいいのやら…。もうちょっと完成度が上がってくるといいですね>EC-Cube

dmatsu2005 at 11:30コメント(0)トラックバック(0) 
livedoor プロフィール

アロハ

痩せないと死ぬよっていう宣告を受けてしまったので、ダイエットに目覚めたプログラマー(約95kg)

広告

レンタルサーバーなら使えるねっと


Google AdSense
Google検索
訪問者数
  • 今日:
  • 昨日:
  • 累計:

オススメの書籍