2010年01月21日

恐るべしEC-CUBE

ECキューブでECサイトの構築の検証を行ってました。ECキューブ本体のインストールはまさにマニュアルどおりに作業を行えばなんなくOKでした。
ただ、注意すべきてんは、解凍したフォルダに[data]フォルダと[html]フォルダが生成されていて、弊社のようにroot階層でECキューブを運用したい場合はdefine.phpのDETAフォルダの階層を修正してアップロードしてあげないとエラーが発生します。
まぁ、サーバーとかCGIとかをいじれる方ならこれぐらいは想定内でしょう、、、。

インストールが完了して、次にサイトの設定です。
基本的なECサイトの情報を入力からはじめて、[郵便番号DBの登録]のフェーズに...
ここに、潜んでいました!エラーの神様が!!
こんなの普通にサクッと登録できるもんだとおもいますよねー。ところが少々これが曲者でした。
エラーの原因等は、時間があるときにでも紹介しようと思いますが、備忘録的に更新方法を記載します。

1) 更新データの準備
        ・日本郵便のページから最新の郵便番号データ(CSV)をダウンロード
        ・解凍したファイルはS-JISなので、これをUTF-8に変換(私はTERAPADを利用)
        ・半角カタカナが使われているのでこれを全角カタカナに変換(otbeditを利用)
        ・KEN_ALL.csvで保存

2) ECキューブの修正
        ・最新のKEN_ALL.csvを [data]>[downloads]へ上書き
        ・サーバーへ上書きアップロード

3) この時点で管理画面の[郵便番号DBの更新]をしても無意味でした。なぜなら、DBの郵便番号を格納しているところを空にしてやらないといけないです!
そこで、DBの中を空にする方法がありますが。私はPHPを自分で書くことに、、、、

<?php
require_once("./require.php");
$objSess = new SC_Session();
SC_Utils::sfIsSuccess($objSess);
$objQuery = new SC_Query();
$objQuery->delete("mtb_zip");
$count = $objQuery->count("mtb_zip");
if($count == 0) {
print("mission complete!");
} else {
print("incomplete");
}
?>

このphpを適当な名前で保存してadminのディレクトリへアップロード。
そしてアクセス!これでデータベースの郵便番号が空になってるはず。

4) そして最後に[郵便番号DBの登録]
サーバーのタイムアウトかもしれませんがエラーが連発します。でも、登録されていないわけではありません。心配しないで。サーバーとかDBのスペックか??およそ1000件前後の登録でエラーが起こるようです。郵便番号のファイルはおよそ12万件ありますので、エラーが起こったところから再度[F5]か登録ボタンを押し続けます。100回やったかな(時間にして1時間ぐらい)最終的にはエラーが発生したところから登録していくみたいで、完了画面がちゃんと出てきたらOKです。

あくまで、備忘録です。(^^ゞ



ラベル:EC-CUBE
posted by ITF at 21:10| 奈良 ☁| Comment(1) | チュートリアル | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
これは知りませんでした。
郵便番号DBの更新処理に、テーブルを削除する処理を追加します。
Posted by XROSS CUBE at 2010年06月25日 17:32
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。