【EC-CUBE】カテゴリの並び順をCSVで変更する方法


【EC-CUBE】 CSVファイルからカテゴリを一括登録する(1)」でも書きましたが、EC-CUBEの管理画面からカテゴリを登録すると表示順が登録順と逆になったり、CSVファイルで登録しても妙な並びになってしまったり・・・と結局修正せざるを得ない状況になりがち。

カテゴリの総数が10個や20個ならまだがんばる気も起きますが、100を超えてくるといちいち管理画面で↑ボタンや↓ボタンを押すのもツラい(そんな時間かけて何百回もクリックできへんわい)。

調べた結果、これもCSVファイルでの登録で解決できそうです。

(1) カテゴリCSV出力時の項目設定を変更する

ec-001-3
管理画面の 商品管理>カテゴリ登録で、左上にある「CSV出力項目設定」ボタンをクリック。

ec-002
デフォルトのままだと、左側のCSV出力しない項目に「階層」「表示ランク」「削除フラグ」があり、右側のCSV出力する項目に「カテゴリID」「カテゴリ名」「親カテゴリID」が表示されていると思います。

この状態から、「階層」「表示ランク」「削除フラグ」を選択して「>」ボタンを押すと、選択した3項目が右側に移るので、「この内容で登録する」ボタンをクリック。

※正直なところ「削除フラグ」は出力項目に設定しなくてもええんちゃう?と思いますが、こちとら自慢じゃないがド素人なので、素直に全部出し設定にしておきます・・・

(2) CSVファイルをダウンロード

ec-001-2
管理画面の 商品管理>カテゴリ登録に戻り、「CSVダウンロード」ボタンをクリックすると、先ほど指定した出力項目のデータがダウンロードできます。

(3) ファイルを表計算ソフトで開いてみる

今回はExcelを使いました。(普段文句ばっか言ってるくせに…)
開いてみると、セルの列は「カテゴリID」「カテゴリ名」「親カテゴリID」「階層」「表示ランク」「削除フラグ」になっているはず。

(4) データ行の並び替え

とりあえず一旦「階層」「表示ランク」「削除フラグ」のことは忘れて、わかりやすくする為に行ごと並べ替えたい順番(一番上が一番上に表示したいもの、という順でOK)にごそっと並び替えます。

その後、問題の「階層」「表示ランク」の数値を変更していきます。


「階層」は、文字通りカテゴリの階層のようです。
例えば
ec-004
という感じに並べたいとすると、階層は
・親カテゴリにあたる「カメラ・デジタルカメラ」「テレビ・レコーダー」「生活家電」が
・子カテゴリにあたる「コンパクトカメラ」「デジタルカメラ」「ビデオカメラ」「双眼鏡・望遠鏡」「洗濯機」「掃除機」が
・孫カテゴリにあたる「コンパクトデジタルカメラ」「デジタル一眼レフ」が
になっている模様。


「表示ランク」は実際に表示される順番のようで、例えば1が一番上、100が一番下。
普通の感覚だと「親カテゴリの表示ランクと子カテゴリ・孫カテゴリの表示ランクそれぞれ分かれている」という風に考えてしまいがちだと思いますが・・・(私だけ?)
ec-005-2
↑これが間違いでした。カテゴリ階層に関係なく連番のようです。

ec-006-2
↑連番なので、表示ランクはこれが正解。

(5) アップロード

ここまで来たらCSV形式で保存して、保存したCSVファイルをEC-CUBEの管理画面でアップロード。
管理画面の 商品管理>カテゴリ登録CSVからアップロードします。
ec-007
これで、商品管理>カテゴリ登録でも希望通りの並び順になっていることが確認できたら成功です!!

(※EC-CUBE バージョン2.13.1にて)

【Yahoo!ストア】 各種備忘録


出店無料化の報道が流れて少し経ちましたが、ついにYahoo!ショッピング(Yahoo!ストア?いつの間に名前変わったの?)への出店の指示が出ました・・・。

例によってデザインだけやってますが、楽天市場と似たような感じの苦しみがありますね。
無料プランだと外部CSSは使えないし、マニュアルあるけど肝心なところに触れていなかったりしてものすごく不親切な印象を受けます・・・。

というわけで備忘録というか、メモ。

【ストアデザイン用にアップロードした画像のURL】

これがマニュアルを検索しまくっても見つからなくて非常に困りました。
結局、どなたかがブログで書いて下さってたURLで表示されたので(心底感謝)、なんとかなりましたが・・・

http://lib2.shopping.srv.yimg.jp/lib/ストア名/画像名.拡張子

でした。

【サイドバーのカテゴリ一覧のリンクをボタン画像に置き換える】

これもざっとマニュアル検索しただけではボタン画像の登録の仕方がわからなかった・・・
storeediter1
まずは「ストアエディタ>ストアデザインメニュー>共通設定>サイドナビ」で、「ストア内商品カテゴリ」をクリック。
下の「パターン選択」でタイプ3かタイプ5を選択するとカテゴリ名を画像に変更できるようになります。

しかし!ボタン画像の登録はこのサイドバーのページでするのではなく、「ストアエディタ>ページ編集」で出てくるサイトマップから、画像を追加したいカテゴリをクリックして、右側に出てくる設定画面にある「カテゴリ画像>サイドナビ画像」で登録するのです。めんどくせ。
storeediter2

だいぶ四苦八苦しているので、備忘録(2)もできそうな予感・・・

【EC-CUBE】 CSVファイルからカテゴリを一括登録する(2)


前回の続き。

できあがったCSVファイルはさておいて、今度はEC-CUBEの管理画面へ移ります。

② 管理画面の 商品管理>カテゴリ管理 から、必要なカテゴリ数の分新規登録していく。
いきなりCSVファイルでカテゴリ登録をしようとしても、「カテゴリ[番号]は存在しません」というようなエラーが出てしまい、登録ができませんでした・・・
 仕方なく、とりあえず必要な数だけカテゴリを管理画面から新規作成しておいて、CSVファイルをアップロードすることで内容を書き換える、という感じに。

 カテゴリ名は後からどうせCSVファイルで書き換えるし、順序も今の段階では関係ないので、カテゴリ名はとりあえず「1」でも「A」でも「あ」でもいいのでガンガン登録していきます。

③ 登録が終わったら「CSV download」のボタンをクリックして、CSVファイルをダウンロード。

categorycsv2-1
ボタンはこちらに↑

④ ダウンロードしたファイルをExcelで開いて、必要数のカテゴリがちゃんと作成されているか確認。
(あくまで確認するだけ)

⑤ さきほど①で作成したCSVファイルを、今度は 商品管理>カテゴリ登録CSV でアップロードする。

categorycsv2-2

⑨ 再び 商品管理>カテゴリ管理 に移動して確認
 カテゴリが意図した通りに登録されていれば、完了!

・・・とまぁ、長い長い手順を踏みましたが、一度間違えてぐっちゃぐちゃになるよりはマシかなぁと…。
詳しい人ならもっと楽勝なやり方もご存じかもしれませんが、私のような素人にはこれが限界です(笑)

これはEC-CUBEのバージョン2.4.3ですが、上位バージョンだと改善されてるのかもしれませんね。

※2014/01/23 EC-CUBE 2.12.0と2.13.1でもこの方法で登録できました!

【EC-CUBE】 CSVファイルからカテゴリを一括登録する(1)


商品カテゴリですが、EC-CUBEのカテゴリ管理からいろいろやった結果、なんかクセがあるなーという印象を受けました。

まず、登録した順番と表示される順番が逆になるということが気に入らない。
カテゴリ1、2、3・・・と登録したつもりが、管理画面でもサイドバーでもカテゴリ3、2、1・・・と表示されてしまうんです。これ、地味に困る。

一応、管理画面にもカテゴリの並び順を変える為の「上へ」「下へ」リンクはついてるのですが、親子合わせて140個もあるカテゴリが全部真逆に並んでて、ひとつずつ上下にポチポチクリックしていくんだから、その労力を考えたらもはや吐きそう(笑)

あとはカテゴリにつく連番が親子通しになっていること。
今まで使っていたショッピングカートは、親カテゴリが1,2,3…の連番・子カテゴリは1-1,2-1,3-1という風に番号がふられていたのですが、ぜーんぶ通し番号(しかも並び順が真逆の合わせ技)となったら非常に使い勝手が悪い・・・!

それから、一度消したカテゴリの番号が復活しない(例えば1~4のカテゴリを削除してしまうと、次に登録し直そうとしても5からしか始まらない)のもなんだかなぁ。別に使用上問題はないけど、なんとなくスッキリしない。

失敗を踏まえつつ、140個もあるカテゴリを一括登録すべく、CSVファイルでの登録にチャレンジしてみることに。

並び順やら子カテゴリの配置やらクセがあるので、手間はかかりますが以下の手順でやってみました。

① まずEXCELなどでカテゴリ一覧を完璧に仕上げる
 アマゾンさんのカテゴリを一部拝借したサンプルはこちら↓
categorycsv1-1
 これを元にしてCSVファイルを作っていきます。

 EC-CUBE側のCSVデータをダウンロードしてみてわかりましたが、データは「カテゴリID」「カテゴリ名」「親カテゴリID」でワンセットとシンプル。これに合うようにさきほどのサンプルの状態から整形していく、と。

 親カテゴリIDまでくっつけた整形途中の状態がこちら↓
categorycsv1-2

 これを、いらん空白削ってCSV形式で保存する直前の状態がこちら↓
categorycsv1-3
 ※忘れてました・・・親カテゴリには「親カテゴリID」に「0」が必要でした・・・

 ここまでできたら、「名前をつけて保存」からCSV形式を選んで完了です!

もうひとつ、大事な作業があります。
Excelで作成したCSVファイルをそのままアップロードしても、文字化けして登録されてしまったり、あるはずのカテゴリが「入力されていません」と表示されてエラーが出たりします。
これはどうやら文字コードの違いのせいらしい。
Excelで作成したCSVファイルは文字コードがSHIFT-JISになっているので、文字コードを変更できるテキストエディタ(私はTeraPadを使ってます)で開き直して、文字コード「UTF-8」を指定して保存する。
(改行コードはCR+LFでとりあえずいけてますが、これでいいのか自信はありません・・・)

これでアップロード直前まで完了!

続きます!

【EC-CUBE】 さくらインターネットでの「カテゴリが表示されない」トラブル


長らく間が空いてしまいましたが、ネット上の先人達の知恵や友人の助けもあってEC-CUBEの設置は成功しております!
インストールについてはまた追い追いここに書くとして・・・

何度も書いていますが、EC-CUBEを設置しているのはさくらインターネット(スタンダードプラン)なのですが
いざ設置して、カテゴリを登録しよう!と思ったらいきなりトラブルが・・・。

どうやらデフォルトで「商品が登録されていないカテゴリは、左側のメニュー部分に表示されない」という仕様になっているようですが
自分でカテゴリを設定して、いざカテゴリを選択した上で商品を登録しても、何度やってもメニュー部分にカテゴリが ひ と つ も 表示されなかったんです(T_T)

商品登録画面にもプレビュー画面にもちゃんと選択しているカテゴリが表示されているんですが、登録が終了した直後にまた同じ商品の編集画面を見てみると、カテゴリは真っ白。ちゃんと登録したのに・・・!!

仕方なくGoogleであらゆる検索ワードで調べてみましたが、けっこうメジャーなトラブルのようで・・・
php.iniに「magic_quotes_gpc = On」という記述をすることによって回避できるという情報がポチポチひっかかってきました。

今回初めて知りましたが、さくらインターネットでは、サーバコントロールパネルからphp.iniの設定を変更できるらしく。(参考URL:http://nozawashinichi.sakura.ne.jp/usingmt/2009/05/php.html
そこに記述すればいいのか??と思いきや、記述してみてもやはりカテゴリは登録も表示もできていない・・・。

同じさくらインターネットでも、ある人がやってみて解決したというやり方が、自分の環境ではダメというパターンが多くて。
引き続き検索しまくること2週間以上、やっと解決策がわかりました!

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=1467&forum=11
「magic_quotes_gpc = onとだけ記述したファイルをテキストエディタで作成して、php.iniという名前で保存して、html/admin/products/ディレクトリ内にアップロードする」
これだけのことでうまく行きました・・・
どうやら、さくらインターネットではPHPをCGIモードで動かしているらしく(もうこの時点で意味がよくわかりませんが)、そこがネックになっていた模様。

「全てのディレクトリにmagic_quotes_gpc = Onを記述したphp.iniを置く」という途方もない労力を使う解決策もどこかで見つけたんですが、カテゴリに関してだけならうちの環境ではhtml/admin/products/に置くだけで済みました。ホッ(^o^)=3